我正在尝试创建一个带有常规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);
Run Code Online (Sandbox Code Playgroud)
如果我排除WS_BORDER那么它只是一个白色的盒子.关于这里有什么问题的任何想法?
WS_EX_CLIENTEDGE做了伎俩.我对清单文件一无所知,或者如何使窗口使用更现代的Windows主题(例如XP),而不是粗糙的3D边框.但是,当我确实学到这一切时,WS_EX_CLIENTEDGE会让他们使用这些主题,还是会强制执行3D外观?
尝试使用WS_EX_CLIENTEDGE.这将在典型情况下创建插入的3D窗口边框.
return CreateWindowEx(WS_EX_CLIENTEDGE, "EDIT", "E:\\bk",
WS_VISIBLE | WS_CHILD | WS_BORDER | ES_LEFT,
87, 81, 150, 17,
main_window.hwnd,
(HMENU)5, hInstance, NULL);
Run Code Online (Sandbox Code Playgroud)
另请参阅以下链接,了解CreateWindowEx的其余可用标志.