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

[Visual C++ Q & A 掲示板] [過去ログの一覧]


極初心者 2007/12/02(日) 16:07:32 <初心者>
.NET2005 VISTA MFC です。

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

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

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

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

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

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

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

極初心者 2007/12/02(日) 17:39:22 <初心者>
[[解決]]

自己解決しました。

TrackPopupMenuの後に、

PostMessage(WM_NULL, 0L, 0L); 

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

たいへん失礼しました。

毎週金曜日はポイント最大3倍!さらに4倍のチャンスも!

Programming Library