DrawState

機能
イメージを加工して表示する
Declare Function DrawState Lib "user32.dll" Alias "DrawStateA" _
(ByVal hdc As Long, ByVal hbr As Long, ByVal lpOutputFunc As Long, _
ByVal lData As Long, ByVal wData As Long, ByVal x As Long, _
ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal fuFlags As Long) As Long
Declare Function DrawState Lib "user32.dll" Alias "DrawStateA" _
(ByVal hdc As Integer, ByVal hbr As Integer, ByVal lpOutputFunc As Integer, _
ByVal lData As Integer, ByVal wData As Integer, ByVal x As Integer, _
ByVal y As Integer, ByVal cx As Integer, ByVal cy As Integer, ByVal fuFlags As Integer) As Integer

BOOL WINAPI DrawState(
HDC hdc,
HBRUSH hbr,
DRAWSTATEPROC lpOutputFunc,
LPARAM lData,
WPARAM wData,
int x,
int y,
int cx,
int cy,
UINT fuFlags
);
引数
hdc

描画うするデバイスコンテキストのハンドル
hbr
ブラシのハンドル(fuFlagsがDSS_MONOのときのみ有効。それ以外は0)
lpOutputFunc
コールバック関数 DrawStateProcへのポインタ
fuFlagsがDST_COMPLEXのときのみ使用する。それ以外は0。
lData
同、パラメータ1
wData
同、パラメータ2
x
イメージを描画うする左上隅のX座標
y
同、y座標
cx
イメージの幅
cy
同、高さ
fuFlags
イメージのタイプと状態を指定する定数
戻り値
正常終了のとき                      0以外
エラーのとき                        0
備考
fuFlagsがDDS_UNIONのとき、デバイスコンテキストにブラシを設定しておく必要がある。
fuFlagsの定数

(イメージのタイプ)
DST_BITMAP = &H4                    イメージとはビットマップ
                                     (lDataの下位ワードにビットマップのハンドルを設定する)
DST_COMPLEX = &H0                   コールバック関数を使う複雑イメージ
DST_ICON = &H3                      イメージはアイコン
                                     (lDataの下位ワードにアイコンのハンドルを設定する)
DST_PREFIXTEXT = &H2                アクセスキー付きのテキスト
                                     (lDataにテキストへのポインタ、wDataにテキストのバイト数を設定する)
DST_TEXT = &H1                      テキスト
                                     (lDataにテキストへのポインタ、wDataにテキストのバイト数を設定する)

(イメージの状態)
DSS_NORMAL = &H0                    元のイメージのまま
DSS_UNION = &H10                    デバイスコンテキストに設定されているブラシでディザリング
DSS_DISABLED = &H20                 エンボス効果
DSS_MONO = &H80                     hbrでh指定したブラシを使用して描画
                                     (このフラッグを指定したとき、モノクロで描画される)
DSS_RIGHT = &H8000&                 テキストを右詰め