【发布时间】:2009-06-10 23:28:44
【问题描述】:
我正在尝试创建一个带有常规 3D 边框的编辑控件(无论如何都是经典的 windows 样式),但它周围只有一个 1px 的黑色边框。这是我的CreateWindowEx 电话:
return CreateWindowEx(0, "EDIT", "E:\\bk",
WS_VISIBLE | WS_CHILD | WS_BORDER | ES_LEFT,
87, 81, 150, 17,
main_window.hwnd,
(HMENU)5, hInstance, NULL);
如果我排除 WS_BORDER 那么它只是一个白框。关于这里出了什么问题的任何想法?
更新
WS_EX_CLIENTEDGE 成功了。
我对清单文件一无所知,也不知道如何使窗口使用更现代的 Windows 主题(例如 XP),而不是厚实的 3D 边框。但是,当我了解所有这些后,WS_EX_CLIENTEDGE 会让他们改用这些主题,还是会强制使用 3D 外观?
【问题讨论】:
-
当然,您需要检查您链接的 comctl32.dll 版本,但是 WS_EX_CLIENTEDGE 仍然适用。另请注意,如果您使用 MFC 生成表单,则更容易跟上 Common Control 更新。最后,您始终可以使用 Spy++ 实用程序来检查您希望检查的窗口的窗口样式。