LOGBRUSH 構造体 (wingdi.h)

LOGBRUSH 構造体は、物理ブラシのスタイル、色、パターンを定義します。 これは、 CreateBrushIndirect 関数と ExtCreatePen 関数によって使用されます。

構文

typedef struct tagLOGBRUSH {
  UINT      lbStyle;
  COLORREF  lbColor;
  ULONG_PTR lbHatch;
} LOGBRUSH, *PLOGBRUSH, *NPLOGBRUSH, *LPLOGBRUSH;

メンバー

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 関数背景色を制御します。

要件

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

関連項目

BITMAPINFO

ブラシの構造

ブラシの概要

COLORREF

CreateBrushIndirect

CreateDIBSection

ExtCreatePen

LOGBRUSH32

RGB

SetBkColor

SetBkMode