26

我正在为 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;
4

6 回答 6

29
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
于 2011-09-16T10:26:41.507 回答
3
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);
于 2014-11-09T13:37:06.737 回答
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

于 2011-09-16T10:05:08.973 回答
1
CreateWindowEx(0, szWindowClass, 0, WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_POPUP, 0, 0, WINDOW_WIDTH, WINDOW_HEIGHT, NULL, NULL, hInstance, NULL);

使用SetWindowLong将改变大小和发布。使用WS_POPUP样式

于 2018-11-26T05:31:30.347 回答
1

我们使用以下指令:

hWnd = CreateWindow(
    "Example", "Example No Title Bar", 
     WS_POPUPWINDOW | WS_VISIBLE,
     0, 0, myWindowWidth, myWindowHeight, 
     NULL, NULL, hInstance, NULL); 

输出:没有标题栏 且不可调整大小的窗口

于 2021-07-14T12:40:39.177 回答
-2
SetWindowLong(hWnd, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
于 2015-09-16T09:54:14.420 回答