ポップアップメニューで、ダイアログが動かない

解決


極初心者  2007-12-03 01:07:32  No: 67054

.NET2005 VISTA MFC です。

ツリービューをサブクラスにして、

TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, AfxGetMainWnd());

で、ノードを右クリックすると、フロータティングポップアップメニューがポップアップするようにしました。

ここまではうまくいったのですが、メニューのアイテムのクリックで、ダイアログがポップアップするようにしたところ、ポップアップはするのですが、そのダイアログが動きません。

不思議なことに、ダイアログ上でマウスを右クリックすると、メニューがまたポップアップします。
そのメニューを閉じると、ダイアログを操作できるようになります。

ヘンないいかたですが、どうも、ダイアログがポップアップしても、内部的にメニューが閉じていなくて、引きずっているような感じなのです。

いろいろ検索してみましたが、回答が見つかりません。
アドバイスをお願いします。


極初心者  2007-12-03 02:39:22  No: 67055

自己解決しました。

TrackPopupMenuの後に、

PostMessage(WM_NULL, 0L, 0L); 

を書き加えたら、動くようになりました。

たいへん失礼しました。


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

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






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