我正在开发一个C ++应用程序的Windows。 我正在使用win32 API。 我有一个非常简单的问题,我找不到答案。 我怎样才能打开没有标题栏(没有控件,图标和标题),不能resize的窗口。
我正在使用的应用程序创build一个窗口的代码片段:
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;
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
省略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
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);
SetWindowLong(hWnd, GWL_EXSTYLE, WS_EX_TOOLWINDOW);