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場合、lbColor は COLORREF カラー値です。 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 を含む) |