- 687 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 17:12:48 ]
- アドバイスありがとうございます。
とりあえずWS_CHILDとWS_POPUPは共存できないようです。 D-Pixedのツールウインドウが同じ実装になっていたのを思い出し、Spy++で覗いてみました。 >>683さんの言うとおりのオプションを使っていましたが、それが原因で望んだ挙動をしているわけではないようです。 とりあえず下記を、親と子両方に入れてやったところ上手く狙った挙動ができているようです。 なので問題ないといえばないのですが、より上手い方法があれば教えていただけると幸いです。 if (WA_INACTIVE != wParam) { ::SetWindowLong(hChildWnd, GWL_EXSTYLE, WS_EX_TOOLWINDOW | WS_EX_TOPMOST); ::SetWindowPos(hChildWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE); } else { ::SetWindowLong(hChildWnd, GWL_EXSTYLE, WS_EX_TOOLWINDOW); ::SetWindowPos(hChildWnd, hParentWnd, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE); ::SetWindowPos(hParentWnd, hChildWnd, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE); }
|

|