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;
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);
CreateWindowEx(0, szWindowClass, 0, WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_POPUP, 0, 0, WINDOW_WIDTH, WINDOW_HEIGHT, NULL, NULL, hInstance, NULL);
SetWindowLong
を使用すると、サイズが変更され、投稿されます。使用 - WS_POPUP
スタイル