C++ 灰显时Win32静态字体错误

C++ 灰显时Win32静态字体错误,c++,winapi,fonts,static,controls,C++,Winapi,Fonts,Static,Controls,我正在使用Win32程序,希望启用和禁用我的控件。 我使用的是Windows XP主题和字体。 当我禁用静态控件时,使用的字体似乎是错误的 已启用的控件: 禁用的控件: 在这幅图中,我的意思显而易见: 此代码创建字体(我使用Google找到): 以下是我创建静态控件的方式: HWND CreateLabel( const TCHAR * text, int x, int y, int w, int h, HMENU id, HWND parent ) { return Create

我正在使用Win32程序,希望启用和禁用我的控件。 我使用的是Windows XP主题和字体。 当我禁用静态控件时,使用的字体似乎是错误的

已启用的控件:

禁用的控件:

在这幅图中,我的意思显而易见:

此代码创建字体(我使用Google找到):

以下是我创建静态控件的方式:

HWND CreateLabel( const TCHAR * text, int x, int y, int w, int h, HMENU id, HWND parent )
{
    return CreateWindow(
        "static", text, WS_CHILD | WS_VISIBLE, x, y, w, h, parent, id, hInstance, NULL);
}
要禁用控件,我使用
EnableWindow(我的句柄,FALSE)

现在,正如您所看到的,除了控件灰显时,这项工作与预期的一样。
我做错了什么?

你写了半页,却没有说你觉得“错”的地方。这些控件的外观与我期望的启用/禁用控件的外观完全相同。添加了一个图像进行解释。我认为这很容易看出来。我也看不出字体有什么问题,即使是你的附加图像。我唯一看到的是它似乎是一个位图字体。选择一种矢量字体,它的外观会更干净。这正是静态控件在禁用它时呈现自身的方式。如果希望它看起来像其他控件,则不能禁用它并在对话框中处理WM_CTLCOLORSTATIC以将颜色更改为灰色。
#pragma comment(linker, "/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' \
                        version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' \
                        language='*'\"")
HWND CreateLabel( const TCHAR * text, int x, int y, int w, int h, HMENU id, HWND parent )
{
    return CreateWindow(
        "static", text, WS_CHILD | WS_VISIBLE, x, y, w, h, parent, id, hInstance, NULL);
}