dポイントプレゼントキャンペーン実施中!

初心者です。
メニューに、ID_ENGAGEというIDをもつアイテムを作って、CViewにそのハンドラを作りました。
メニューをクリックして確認すると、ハンドラは正常に動いています。

しかし、CView内(OnKeyUp())でSendMessage(ID_ENGAGE)やPostMessage(ID_ENGAGE)を実行しても、ハンドラを呼んでくれないようなのです。

CFrameWndに送る必要があるのかもしれないと、GetParent()->SendMessage(ID_ENGAGE)も試してみましたがうまくいきませんでした。

どうすればうまくいくのでしょうか?
お分かりになる方がいらっしゃいましたら、よろしくお願いします。

A 回答 (1件)

Dannerです



SendMessageの最初の引数は、メッセージIDを指定します。
(ID_ENGAGEはコマンドを識別するためのID)

したがって
SendMessage(WM_COMMAND, ID_ENGAGE);
にすれば、動くと思います。

同じクラス内で呼ぶのなら、直接ハンドラ関数を呼んだ方が簡単です。
    • good
    • 0
この回答へのお礼

なるほど、そういうことだったのですね。
うまくいき、助かりました。
どうもありがとうございます。

お礼日時:2002/12/20 02:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!