1

我试图找出为什么我的应用程序有一个小的、几个像素的边框。

我的理解是WS_POPUP应该解决这个问题;

DWORD wndExStyle = WS_EX_OVERLAPPEDWINDOW;
DWORD wndStyle =  WS_POPUP | WS_SYSMENU;
g_hWnd = CreateWindowEx(wndExStyle, wcl.lpszClassName, L"junk",
wndStyle, 0, 0, 0, 0, 0, 0, wcl.hInstance, 0);
//Somewhere later
pfd.dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER;
wglCreateContextAttribsARB(g_hDC, 0, attribList);
//Finally
ShowWindow(g_hWnd, SW_MAXIMIZE);
UpdateWindow(g_hWnd);

编辑 1:删除 WS_BORDER

在此处输入图像描述

4

2 回答 2

4

该边界是由使用WS_EX_OVERLAPPEDWINDOW. WS_EX_OVERLAPPEDWINDOW被定义为的事实WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE非常清楚发生了什么。

删除该扩展样式,边框消失。

于 2013-06-29T21:57:24.367 回答
3

在样式中包含 WS_BORDER 会导致向窗口添加细边框。从样式中删除它。

于 2013-06-29T21:31:09.793 回答