<Return[D]><Top>

DrawState

Declare Function Api_DrawState& Lib "user32" Alias "DrawStateA" (ByVal hDC&, ByVal hbr&, ByVal lpOutputFunc&, ByVal lData&, ByVal wData&, ByVal X&, ByVal Y&, ByVal cx&, ByVal cy&, ByVal fuFlags&)

Declare Function DrawState Lib "user32" Alias "DrawStateA" (ByVal hDC As Long, ByVal hBrush As Long, ByVal lpDrawStateProc As Long, ByVal lParam As Long, ByVal wParam As Long, ByVal n1 As Long, ByVal n2 As Long, ByVal n3 As Long, ByVal n4 As Long, ByVal un As Long) As Long

さまざまなイメージを描画し、既定の状態や無効な状態などの視覚的な効果を適用する。

パラメータ
hdc
    描画に使いたいデバイスコンテキストのハンドルを指定する。
hbr
    fuFlags パラメータで状態として DSS_MONO を指定した場合は、hbr パラメータで、イメージの描画に使いたいブラシのハンドルを指定す

    る。状態がそれ以外の場合は、hbr パラメータは無視される。
lpOutputFunc
    イメージをレンダリングするアプリケーション定義のコールバック関数へのポインタを指定する。fuFlags パラメータでイメージのタイプとして

    DST_COMPLEX を指定した場合は、lpOutputFunc パラメータは必須である。

    イメージのタイプとして DST_TEXT を指定した場合は、lpOutputFunc パラメータはオプションであり、NULL を指定することもできる。

    それ以外の場合は、lpOutputFunc パラメータは無視される。
lData
    イメージに関する情報を指定する。このパラメータの意味は、イメージのタイプによって異なる。
wData
    イメージに関する情報を指定する。このパラメータの意味は、イメージのタイプによって異なる。

    ただし、DrawStateProc 関数で使う場合は、ゼロ拡張として扱われます。
x
    イメージの左上隅の水平位置を指定する。
y
    イメージの左上隅の垂直位置を指定する。
cx
    イメージの幅をデバイス単位で指定する。イメージのタイプが DST_COMPLEX の場合、このパラメータは必須である。

    その他の場合は、0 を指定すると、イメージの幅が自動的に計算される。
cy
    イメージの高さをデバイス単位で指定する。イメージのタイプが DST_COMPLEX の場合、このパラメータは必須である。

    その他の場合は、0 を指定すると、イメージの高さが自動的に計算される。
fuFlags
    イメージのタイプと状態を指定する。このパラメータのタイプは、次の値のいずれかである。

    値                             

意味                                                                                                                                        

    DST_BITMAP

イメージはビットマップである。lData パラメータは、ビットマップのハンドルである。

 

既存のデバイスコンテキストに対してビットマップをあらかじめ選択しておくことができない点に注意。

    DST_COMPLEX

イメージはアプリケーションが定義する。DrawState 関数は、このイメージをレンダリングするために、

 

lpOutputFunc パラメータが指すコールバック関数を呼び出する。

    DST_ICON

イメージはアイコンである。lData パラメータは、アイコンのハンドルである。

    DST_PREFIXTEXT

イメージはテキストであり、アクセラレータ(ショートカットキー)を表す文字を保持している可能性がある。

 

プリフィックス文字「&」は、その次に続く文字に下線(_)を付けて表示する命令であると解釈される

 

(たとえば、「&O」は、下線付きの O として表示される)。lData パラメータには文字列へのポインタを、

 

wData パラメータは文字列の長さを指定する。wData パラメータに 0 を指定した場合は、文字列は NULL で

 

終わる文字列でなければならない。

    DST_TEXT

イメージはテキストである。lData パラメータには文字列へのポインタを、wData パラメータには文字列の長さを

 

指定する。wData パラメータに 0 を指定した場合は、文字列は NULL で終わる文字列でなければならない。

    イメージの状態として、次に示す値のいずれかを指定する。

    値                             

意味                                                                                                                                       

    DSS_DISABLED

イメージを浮き上がらせます(エンボス)。

    DSS_HIDEPREFIX

Windows 2000:テキスト内のアンパサンド(&)プレフィックスを無視し、その後に続く文字に下線を付けない。

 

この値は、DST_PREFIXTEXT と組み合わせて使わなければならない。

    DSS_MONO

hbr パラメータで指定したブラシを使って、イメージを描画する。

    DSS_NORMAL

イメージをそのまま描画する。

    DSS_PREFIXONLY

Windows 2000:アンパサンド(&)プレフィックスに続く文字の位置に、下線だけを描画する。

 

この文字列の中にあるテキストをいずれも描画しない。

 

この値は、DST_PREFIXTEXT と組み合わせて使わなければならない。

    DSS_RIGHT

テキストを右寄せする。

    DSS_UNION

イメージをディザリングする。

    DSS_NORMAL 以外の状態を指定した場合、視覚的効果を適用する前にイメージを自動的にモノクロームへ変換する。

戻り値
    関数が成功すると、0 以外の値が返る。
    関数が失敗すると、0 が返る。
    Windows NT/2000:拡張エラー情報を取得するには、GetLastError 関数を使う。