我正在为Windows开发一个c ++应用程序。我正在使用win32 API。我有一个非常简单的问题,我无法找到答案。如何打开没有标题栏的窗口(没有控件,图标和标题),并且无法调整大小。
我用于创建窗口的应用程序的代码片段:
hWnd = CreateWindow(szWindowClass, 0, (WS_BORDER ),
0, 0, WINDOW_WIDTH, WINDOW_HEIGHT, NULL, NULL, hInstance, NULL);
更新:
要在c#中执行此操作,您只需定义此代码:
FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow;
ControlBox = false;
答案 0 :(得分:19)
hWnd = CreateWindow(szWindowClass, 0, (WS_BORDER ), 0, 0, WINDOW_WIDTH, WINDOW_HEIGHT, NULL, NULL, hInstance, NULL);
SetWindowLong(hWnd, GWL_STYLE, 0); //remove all window styles, check MSDN for details
ShowWindow(hWnd, SW_SHOW); //display window
答案 1 :(得分:2)
省略WS_BORDER
样式:
请参阅 CreateWindow功能: http://msdn.microsoft.com/en-us/library/ms632679%28v=vs.85%29.aspx
窗口样式: http://msdn.microsoft.com/en-us/library/ms632600%28v=vs.85%29.aspx
答案 2 :(得分:1)
HWND hWnd ;
hWnd = CreateWindow(szWindowClass, 0, (WS_BORDER ), 0, 0, 100, 100, NULL, NULL, Instance, NULL);
SetWindowLong(hwnd, GWL_STYLE, WS_BORDER ); // With 1 point border
//OR
SetWindowLong(hwnd, GWL_STYLE, 0 ); // Without 1 point border = white rectangle
SetWindowPos(hwnd, 0, 150, 100, 250, 250, SWP_FRAMECHANGED);
if (!hWnd)
return FALSE ;
else
ShowWindow(hwnd, SW_SHOW);
答案 3 :(得分:1)
我们使用以下指令:
hWnd = CreateWindow(
"Example", "Example No Title Bar",
WS_POPUPWINDOW | WS_VISIBLE,
0, 0, myWindowWidth, myWindowHeight,
NULL, NULL, hInstance, NULL);
输出:没有标题栏且不可调整大小的窗口
谢谢。
答案 4 :(得分:0)
CreateWindowEx(0, szWindowClass, 0, WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_POPUP, 0, 0, WINDOW_WIDTH, WINDOW_HEIGHT, NULL, NULL, hInstance, NULL);
使用 SetWindowLong
将更改大小和帖子。使用 WS_POPUP
样式
答案 5 :(得分:-2)
SetWindowLong(hWnd, GWL_EXSTYLE, WS_EX_TOOLWINDOW);