如何使父窗口和子窗口的颜色相同?

时间:2015-04-29 14:21:08

标签: c++ winapi

我对windows.h库几乎一无所知,但我必须使用它来创建一个应用程序(长篇故事)。无论如何,如果你能耐心等待我,我真的很感激。我的子窗口只包含一些要显示在父窗口上的静态文本,但颜色不同我如何使它们相同?我试过谷歌搜索,但我似乎没有任何东西。哦,我正在使用C ++。

我在MSDN上看到了这个

HRESULT EnableThemeDialogTexture( _In_ HWND hwnd, _In_ DWORD dwFlags );

但不确定在哪里使用它。

启动子窗口的句柄。

HRESULT EnableThemeDialogTexture(start,ETDT_DISABLE);

我试过这个,但是我收到了诸如

之类的错误

[错误]'ETDT_DISABLE'未在此范围内声明

[错误]表达式列表在初始化程序[-fpermissive]

中被视为复合表达式

我有我的背景

    wc.hbrBackground = (HBRUSH)(COLOR_GRADIENTINACTIVECAPTION+1);

我的孩子窗口

switch(Message) 
{
    case WM_CREATE: 
    start = CreateWindow("STATIC","some text here",
    WS_VISIBLE|WS_CHILD,200,100,300,100,hwnd,NULL,NULL,NULL);       
    break;
    case WM_DESTROY: {
        PostQuitMessage(0);
        break;
    }

我的父窗口

hwnd = CreateWindowEx(WS_EX_CLIENTEDGE,"WindowClass","                                                                                        SHOPAHOLIC",
    WS_VISIBLE|WS_SYSMENU| WS_MINIMIZEBOX,
    CW_USEDEFAULT, /* x */
    CW_USEDEFAULT, /* y */
    740, /* width */
    580, /* height */
    NULL,NULL,hInstance,NULL);

1 个答案:

答案 0 :(得分:2)

处理WM_CTLCOLORSTATIC消息。 (在该页面的末尾有一个示例,可以完全按照您的要求进行操作。)