タスクトレイのアイコンを左クリックしたときにダイアログを表示するには?

解決


ヤマオー  2006-12-04 08:28:14  No: 63799

はじめまして。
ヤマオーといいます。

VC6.0 MFCのダイアログベースで開発中です。

起動時タスクトレイにアイコンを表示し、
ダイアログは非表示という状態です。

タスクトレイのアイコンを左クリックしたときに
ダイアログを表示したいのですが、うまくいきません。

左クリックのイベントは取得できるのですが、
ダイアログが表示できず、
右クリックしたときポップアップメニューが表示
されるときにダイアログが表示されてしまいます。

なぜでしょうか?

以下ソース
 OnWindowPosChanging(WINDOWPOS * lpwndpos)
 {
   lpwndpos->flags &= ~SWP_SHOWWINDOW;

   左クリックしたとき
   lpwndpos->flags |= SWP_SHOWWINDOW;
   その他
   lpwndpos->flags |= SWP_HIDEWINDOW;

   CDialog::OnWindowPosChanging(lpwndpos);
 }
 
宜しくお願いします。


RAPT  2006-12-06 09:40:03  No: 63800

なぜ OnWindowPosChanging で処理しているのか分かりませんが、
普通に、ShowWindow() で SW_SHOW すればいいだけかと。


ヤマオー  2006-12-06 20:39:03  No: 63801

RAPTさん御指摘ありがとうございました。

ダイアログベースだとShowWindowが効かないと
見たことがあったので、確認していませんでした。

ShowWindowで実現できました。
ありがとうございます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加