私は自分のウィンドウを他のすべてのウィンドウの上に配置しようとしています。 C++ Win32プログラミングは初めてです。これは、WinMain
でのウィンドウの初期化です。
hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);
以前はダイアログを使用していたので、一番上のプロパティは本当に使いやすかったです。しかし、ここでは、ウィンドウでそれを設定する方法がわかりません。また、それをトリガーできるようにしたいです。誰かが私を助けてくれますか?
(拡張)ウィンドウスタイルでCreateWindowEx
を使用するWS_EX_TOPMOST
。
免責事項:私がそれに触れたので、それは約15年かそこらです。
SetWindowPos(hwnd01, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
注:SWP_NOMOVE | SWP_NOSIZE
は、SetWindowPos
関数の3番目、4番目、5番目、6番目のパラメーターを無視するためのものです。
2番目のパラメーターは次のとおりです。
HWND_BOTTOM
HWND_NOTOPMOST
(ウィンドウを通常のウィンドウに設定)
HWND_TOP
HWND_TOPMOST
(ウィンドウが常に一番上になるように設定)
SetWindowPos 、hWndInsertAfter
パラメータを参照してください。 HWND_TOPMOST
を渡すと、必要な処理を実行できます。
さらに、位置とサイズを変更しないでおく場合は、SWP_NOMOVE | SWP_NOSIZE
をuFlags
パラメータに渡すことができます。
2直接コメントできないのでNoitidart
SWP_NOMOVE現在の位置を保持します(XパラメータとYパラメータは無視されます)。 SWP_NOSIZE現在のサイズを保持します(cxおよびcyパラメーターを無視します)。これらのフラグを設定しない場合は、0、0、0、0を渡す代わりに位置とサイズを指定する必要があります