LOGBRUSH32 構造体 (wingdi.h)

LOGBRUSH32構造体は、物理ブラシのスタイル、色、パターンを定義します。 LOGBRUSH に似ていますが、メタファイル レコードを 1 つのプラットフォームに記録し、別のプラットフォームで再生するときに、32 ビット プラットフォームと 64 ビット プラットフォーム間の互換性を維持するために使用されます。 したがって、 EMRCREATEBRUSHINDIRECT でのみ使用されます。 コードが 1 つのプラットフォームにのみ存在する場合は、 LOGBRUSH で十分です。

構文

typedef struct tagLOGBRUSH32 {
  UINT     lbStyle;
  COLORREF lbColor;
  ULONG    lbHatch;
} LOGBRUSH32, *PLOGBRUSH32, *NPLOGBRUSH32, *LPLOGBRUSH32;

メンバー

lbStyle

ブラシ のスタイル。 lbStyle メンバーは、次のいずれかのスタイルである必要があります。

意味
BS_DIBPATTERN デバイスに依存しないビットマップ (DIB) 仕様によって定義されるパターン ブラシ。 lbStyle がBS_DIBPATTERN場合、lbHatch メンバーにはパックされた DIB へのハンドルが含まれます。 詳細については、 lbHatch のディスカッションを参照してください。
BS_DIBPATTERN8X8 BS_DIBPATTERNと同じです。
BS_DIBPATTERNPT デバイスに依存しないビットマップ (DIB) 仕様によって定義されるパターン ブラシ。 lbStyle がBS_DIBPATTERNPTされている場合、lbHatch メンバーにはパックされた DIB へのポインターが含まれます。 詳細については、 lbHatch のディスカッションを参照してください。
BS_HATCHED ハッチ付きブラシ。
BS_HOLLOW 中空ブラシ。
BS_NULL BS_HOLLOWと同じです。
BS_PATTERN メモリ ビットマップによって定義されるパターン ブラシ。
BS_PATTERN8X8 BS_PATTERNと同じです。
BS_SOLID ソリッド ブラシ。

lbColor

ブラシを描画する色。 lbStyle がBS_HOLLOWまたはBS_PATTERNスタイルの場合、lbColor は無視されます。

lbStyle がBS_DIBPATTERNまたはBS_DIBPATTERNPTの場合、lbColor の下位ワードは、BITMAPINFO 構造体の bmiColors メンバーに、現在実現されている論理パレットに明示的な赤、緑、青 (RGB) の値またはインデックスを含めるかどうかを指定します。 lbColor メンバーは、次のいずれかの値である必要があります。

意味
DIB_PAL_COLORS カラー テーブルは、現在実現されている論理パレットに 16 ビット インデックスの配列で構成されます。
DIB_RGB_COLORS カラー テーブルには、リテラル RGB 値が含まれています。
 

lbStyle がBS_HATCHEDまたはBS_SOLID場合、lbColorCOLORREF カラー値です。 COLORREF カラー値を作成するには、RGB マクロを使用します。

lbHatch

ハッチ スタイル。 意味は 、lbStyle で定義されたブラシ スタイルによって異なります。

lbStyle がBS_DIBPATTERN場合、lbHatch メンバーにはパックされた DIB へのハンドルが含まれます。 このハンドルを取得するために、アプリケーションは、GMEM_MOVEABLE (またはLMEM_MOVEABLEを使用して LocalAlloc) を使用して GlobalAlloc 関数を呼び出してメモリ ブロックを割り当て、パックされた DIB でメモリを埋めます。 パックされた DIB は 、BITMAPINFO 構造体の直後に、ビットマップのピクセルを定義するバイト配列で構成されます。

lbStyle がBS_DIBPATTERNPTされている場合、lbHatch メンバーにはパックされた DIB へのポインターが含まれます。 ポインターは、 localAlloc によって作成されたメモリ ブロックから派生LMEM_FIXED、GMEM_FIXEDが設定された GlobalAlloc によって作成されるか、 LocalLock (handle_to_the_dib) などの呼び出しによって返されるポインターです。 パックされた DIB は 、BITMAPINFO 構造体の直後に、ビットマップのピクセルを定義するバイト配列で構成されます。

lbStyle がBS_HATCHEDの場合、lbHatch メンバーはハッチングの作成に使用する線の向きを指定します。 次のいずれかの値を指定できます。

意味
HS_BDIAGONAL 45 度上向き、左から右のハッチ
HS_CROSS 水平および垂直クロスハッチ
HS_DIAGCROSS 45 度のクロスハッチ
HS_FDIAGONAL 45度下向き、左から右のハッチ
HS_HORIZONTAL 水平ハッチ
HS_VERTICAL 垂直ハッチ
 

lbStyle がBS_PATTERN場合、lbHatch はパターンを定義するビットマップへのハンドルです。 ビットマップは、 CreateDIBSection 関数によって作成される DIB セクション ビットマップにすることはできません。

lbStyle がBS_SOLIDまたはBS_HOLLOWの場合、lbHatch は無視されます。

注釈

lbColor はハッチ ブラシの前景色を制御しますが、SetBkMode 関数と SetBkColor 関数背景色を制御します。

ブラシは、8 x 8 ピクセルを超えるビットマップまたは DIB から作成できます。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
Header wingdi.h (Windows.h を含む)

こちらもご覧ください

BITMAPINFO

ブラシの構造

ブラシの概要

COLORREF

CreateDIBSection

EMRCREATEBRUSHINDIRECT

Logbrush

RGB

SetBkColor

SetBkMode