はじめまして。
ヤマオーといいます。
VC6.0 MFCのダイアログベースで開発中です。
起動時タスクトレイにアイコンを表示し、
ダイアログは非表示という状態です。
タスクトレイのアイコンを左クリックしたときに
ダイアログを表示したいのですが、うまくいきません。
左クリックのイベントは取得できるのですが、
ダイアログが表示できず、
右クリックしたときポップアップメニューが表示
されるときにダイアログが表示されてしまいます。
なぜでしょうか?
以下ソース
OnWindowPosChanging(WINDOWPOS * lpwndpos)
{
lpwndpos->flags &= ~SWP_SHOWWINDOW;
左クリックしたとき
lpwndpos->flags |= SWP_SHOWWINDOW;
その他
lpwndpos->flags |= SWP_HIDEWINDOW;
CDialog::OnWindowPosChanging(lpwndpos);
}
宜しくお願いします。
なぜ OnWindowPosChanging で処理しているのか分かりませんが、
普通に、ShowWindow() で SW_SHOW すればいいだけかと。
RAPTさん御指摘ありがとうございました。
ダイアログベースだとShowWindowが効かないと
見たことがあったので、確認していませんでした。
ShowWindowで実現できました。
ありがとうございます。
ツイート | ![]() |