2001/10/03 [水]
一般的に Windows ではダイアログやプロパティシートの右上に×ボタンがあります。これを非表示もしくは無効にするためには、そのウィンドウの Style から WS_SYSMENU を取り除き、念のためそのウィンドウのタイトルバを再描画します。Style の取得/設定には、GetWindowLong / SetWindowLong 関数が、再描画には、SetWindowPos で fuFlags に SWP_DRAWFRAME を設定することで行えます。
参考(未テスト):
SetWindowLong(hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) & ~(LONG)WS_SYSMENU);
SetWindowPos(hwnd, NULL, 0, 0, 0, 0, SWP_DRAWFRAME | SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER);
参考(未テスト):
SetWindowLong(hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) & ~(LONG)WS_SYSMENU);
SetWindowPos(hwnd, NULL, 0, 0, 0, 0, SWP_DRAWFRAME | SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER);
by seclan