c++ - 如何使用CreateWindowEx创建win7风格的按钮

标签 c++ visual-studio-2010 winapi button resources

<分区>

Possible Duplicate:
winapi CreateWindowEx -> create button with user system styles?

你好, 我对 WinAPI 和 C++ 有点陌生,我正在使用 Visual Studio 2010。我想在主窗口中创建一些按钮。所以有两个问题:

1) 我可以使用用资源编辑器创建的对话窗口作为主窗口,这样我就不必在“post-WM_CREATE 消息”部分“手动”创建所有控件吗?

2) (如果我不能使用资源脚本制作带有按钮的窗口作为主窗口)当我像这样使用 CreateWindowEx “手工制作”按钮时:

case WM_CREATE:

    {
    HFONT buttonFont = CreateFont(-11, 0, 0, 0, 400, FALSE, FALSE, FALSE, 1, 400, 0, 0, 0, fontButtonFont);
    HWND bMainOK = CreateWindowEx(
        0, 
        WC_BUTTON, 
        szOkButton, 
        WS_VISIBLE | WS_CHILD | WS_TABSTOP | BS_PUSHBUTTON, 
        24, 200, 75, 23, 
        hWnd, 
        0, 
        hInst, 
        0);
    SendMessage(bMainOK, WM_SETFONT, (WPARAM)buttonFont, FALSE);
    }

我得到非常丑陋的旧式按钮。如何让它看起来像 Win7/Vista 按钮?或者更好的方法是如何让它按照系统样式设置的方式运行(使用 XP 时获取 XP 样式按钮,使用 Vista 时获取 Vista 样式按钮等)?

谢谢

最佳答案

您需要将 list 链接到指定 v6 通用控件的应用。网络搜索将为您完成剩下的工作。

关于c++ - 如何使用CreateWindowEx创建win7风格的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5426217/

相关文章:

c++ - 测试树是否为二叉搜索树

c# - 在一个解决方案中部署多个 Web 应用程序的最简单方法是什么?

c++ - 在 win32 c++ 中,有没有办法判断 DLL 是否为 64 位?

c++ - 检查指向自定义类的指针是否不再存在

Visual Studio 的 javascript 智能感知

python - 是否可以通过Python从系统托盘显示气球提示?

c++ - 运算符 > 重载不起作用

c++ - 如何覆盖当前文件?

c++ - 如何处理 C++ 内联 + 模板上下文中的警告?

c# - 创建一个没有文件的文件流 C#