在C++中,CreatePatternBrush用于創建一個圖案畫刷對象,該畫刷可以用于繪制圖案填充。其用法如下:
HBRUSH CreatePatternBrush( HBITMAP hbm );
參數說明:
返回值:
示例代碼:
#include <windows.h>
int main()
{
// 創建圖案位圖對象
HBITMAP hPatternBitmap = (HBITMAP)LoadImage(NULL, L"pattern.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
if (hPatternBitmap != NULL)
{
// 創建圖案畫刷對象
HBRUSH hPatternBrush = CreatePatternBrush(hPatternBitmap);
if (hPatternBrush != NULL)
{
// 使用圖案畫刷繪制矩形
HDC hdc = GetDC(NULL);
RECT rect = { 100, 100, 300, 200 };
FillRect(hdc, &rect, hPatternBrush);
ReleaseDC(NULL, hdc);
// 刪除圖案畫刷對象
DeleteObject(hPatternBrush);
}
// 刪除圖案位圖對象
DeleteObject(hPatternBitmap);
}
return 0;
}
上述代碼中,首先使用LoadImage函數加載一個位圖文件pattern.bmp,并得到其句柄hPatternBitmap。然后使用CreatePatternBrush函數創建一個圖案畫刷對象hPatternBrush,該畫刷使用圖案位圖作為填充。接下來使用FillRect函數繪制一個矩形,并使用圖案畫刷進行填充。最后使用DeleteObject函數刪除圖案畫刷和圖案位圖對象。
請注意,使用CreatePatternBrush函數創建的圖案畫刷對象,可以在繪制窗口等使用畫刷填充區域的地方使用。如果需要繪制圖案填充的其他形狀,可以使用SelectObject函數選擇圖案畫刷對象,并使用相應的繪圖函數(如Rectangle、Ellipse等)進行繪制。