別のプロセスからメッセージを受信したら、生成したモードレスダイアログを破棄するために、
WindowProc内でDestroyWindowをしています。そのままだと、returnするときに
アプリケーションエラーが発生するので、そのメッセージを受信したときは、
TRUEを返すようにすると、うまく動いているように見えます。
WindowProcの戻り値を強制的に変えても問題ないのでしょうか?
ご教授願います。
<環境>
VC6++,MFC,SDI,Windows2000
ダイアログプロシージャは、デフォルトの処理をさせたいときに FALSE を返します。
自分で何らかの処理を行った場合は、TRUE を返すのが普通です。
ウィンウィンさんが何のメッセージに対して DestroyWindow を呼び出したかはわかりません
が、
メッセージに応答したということで、TRUE を返して問題ないと思います。
MSDN で、SDK の DialogProc が参考になると思います。
ありがとうございました。
DialogProcとWindowProcとは別ものですよね。
初めてDialogProcという存在を知りましたが、
ClassWizardを見ても、DialogProcっていうのがないですが。。。
MSDNに、
「DialogProc は、アプリケーション定義の関数名のプレースホルダです。」
という記述があります。
ダイアログプロシジャは「DialogProc」という名前である必要はありません。
といいますか、名前は自分で決るものなので、
ClassWizardを見てもDialogProcがないというのは、
当然といえば当然なわけですね。
なるほど、ありがとうございました。
勉強になりました。