EngSetPointerShape 関数 (winddi.h)
EngSetPointerShape 関数は、呼び出し元のドライバーのポインター図形を設定します。
構文
ENGAPI ULONG EngSetPointerShape(
[in] SURFOBJ *pso,
[in] SURFOBJ *psoMask,
[in] SURFOBJ *psoColor,
[in] XLATEOBJ *pxlo,
[in] LONG xHot,
[in] LONG yHot,
[in] LONG x,
[in] LONG y,
[in] RECTL *prcl,
[in] FLONG fl
);
パラメーター
[in] pso
描画するサーフェスを記述する SURFOBJ 構造体へのポインター。
[in] psoMask
ポインター ビットマップに適用する AND-XOR マスクを定義する SURFOBJ 構造体へのポインター。 ビットマップの上半分はモノクロ AND マスクを指定し、下半分はモノクロ XOR マスクを指定します。 ポインターは、 psoMask が指すマスクの幅と高さの半分と同じです。 ポインター サイズには暗黙的な制約はありませんが、最適なポインター サイズは 32 x 32、48 x 48、64 x 64 ピクセルです。 このパラメーターが NULL の場合、ポインターは透過的です。
[in] psoColor
カラー ポインターの色を定義する SURFOBJ 構造体へのポインター。 このビットマップは、 psoMask が指すビットマップの幅と高さの半分と同じであり、 pso が指すサーフェスと同じ色の形式です。 このパラメーターが NULL の場合、ポインターはモノクロになります。
[in] pxlo
psoColor の色を定義する XLATEOBJ 構造体へのポインター。
[in] xHot
左上のピクセルに対するポインターのホット スポットの x 座標を指定します。 ホット スポットによって示されるピクセルは、新しいポインター位置に配置する必要があります。
[in] yHot
左上のピクセルに対するポインターのホット スポットの y 座標を指定します。 ホット スポットによって示されるピクセルは、新しいポインター位置に配置する必要があります。
[in] x
新しいポインター位置の x 座標を指定します。
[in] y
新しいポインター位置の y 座標を指定します。
[in] prcl
RECTL 構造体へのポインター。 NULL 以外の場合、ドライバーは、ディスプレイ上のポインターの影響を受けるすべてのピクセルを境界とする四角形を提供しています。 GDI では、最初にポインターを移動せずに、この四角形に描画しないようにします。
[in] fl
GDI がこの呼び出しを処理するために使用するフラグのセットを指定します。 このパラメーターには、次の定義済みの値の 1 つ以上を指定できます。
フラグ | 説明 |
---|---|
SPS_ANIMATESTART | GDI は、アニメーションポインター効果を構成する一連の同様のサイズのポインター図形を受け取る準備をする必要があります。 |
SPS_ANIMATEUPDATE | GDI は、アニメーション化されたシリーズの次のポインター図形を描画する必要があります。 |
SPS_CHANGE | GDI は、ポインターの図形を変更するように要求されます。 |
戻り値
EngSetPointerShape は 、次のいずれかの値を返します。
リターン コード | 説明 |
---|---|
|
GDI は図形を受け入れます。 GDI は、最初にポインターを移動せずに prcl で書き込まれた四角形から読み取ったり書き込んだりしません。 |
|
GDI は通常、この図形をサポートしていますが、通常とは異なる理由で失敗しました。 |
解説
ドライバーは EngSetPointerShape を呼び出して、GDI でソフトウェア カーソルを管理できます。
psoMask が指すモノクロ ビットマップには、2 つの部分があります。 最初の部分はポインターの AND マスクを定義し、2 番目の部分では XOR マスクを定義します。 まとめると、これらのマスクは、ポインター 画像のピクセルごとに 2 ビットの情報を提供します。 次の真理値テーブルでは、AND マスクと XOR マスクのさまざまな値に対して GDI がディスプレイに描画する内容を決定します。
AND 値 | XOR 値 | 結果のピクセル |
---|---|---|
0 | 0 | 白 |
0 | 1 | Black |
1 | 0 | ピクセルの変更なし |
1 | 1 | ピクセルの色が反転する |
このメカニズムは、ポインターを構成するピクセルの透明度と反転を可能にしながら、白黒の画像を提供します。
要件
サポートされている最小のクライアント | Windows 2000 以降のバージョンの Windows オペレーティング システムで使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | winddi.h (Winddi.h を含む) |
Library | Win32k.lib |
[DLL] | Win32k.sys |
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示