将位图图像设置为主窗口背景

时间:2015-10-07 08:24:38

标签: winapi visual-c++

我正在尝试将图像设置为win32应用程序主窗口的背景,我正在尝试在主函数wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW);中设置

WNDCLASSEX wcex;

    wcex.cbSize = sizeof(WNDCLASSEX);
    wcex.style = CS_HREDRAW | CS_VREDRAW;
    wcex.lpfnWndProc = WndProc;
    wcex.cbClsExtra = 0;
    wcex.cbWndExtra = 0;
    wcex.hInstance = hInstance;
    wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_APPLICATION));
    wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
        wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW);

但我找不到正确的语法??

1 个答案:

答案 0 :(得分:1)

wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);

是正确的语法。要将图像设置为窗口背景,您可以使用:

hbr=CreatePatternBrush(LoadBitmap(hInstance,MAKEINTRESOURCE(IDB_BGROUND)));
wcex.hbrBackground = bhr

如果您想控制绘图,可以处理WM_ERASEBKGND并在此函数中绘制图像,然后为DefWindowProc返回非零以忽略此消息。