WindowProc内でのDestroyWindow – プログラミング – Home

通知
すべてクリア

[解決済] WindowProc内でのDestroyWindow


ウィンウィン
 ウィンウィン
(@ウィンウィン)
ゲスト
結合: 22年前
投稿: 3
Topic starter  

別のプロセスからメッセージを受信したら、生成したモードレスダイアログを破棄するために、
WindowProc内でDestroyWindowをしています。そのままだと、returnするときに
アプリケーションエラーが発生するので、そのメッセージを受信したときは、
TRUEを返すようにすると、うまく動いているように見えます。
WindowProcの戻り値を強制的に変えても問題ないのでしょうか?
ご教授願います。

<環境>
VC6++,MFC,SDI,Windows2000


引用未解決
トピックタグ
TAD
 TAD
(@TAD)
ゲスト
結合: 23年前
投稿: 54
 

ダイアログプロシージャは、デフォルトの処理をさせたいときに FALSE を返します。
自分で何らかの処理を行った場合は、TRUE を返すのが普通です。

ウィンウィンさんが何のメッセージに対して DestroyWindow を呼び出したかはわかりません
が、
メッセージに応答したということで、TRUE を返して問題ないと思います。

MSDN で、SDK の DialogProc が参考になると思います。


返信引用
ウィンウィン
 ウィンウィン
(@ウィンウィン)
ゲスト
結合: 22年前
投稿: 3
Topic starter  

ありがとうございました。
DialogProcとWindowProcとは別ものですよね。
初めてDialogProcという存在を知りましたが、
ClassWizardを見ても、DialogProcっていうのがないですが。。。


返信引用
sugar
 sugar
(@sugar)
ゲスト
結合: 24年前
投稿: 448
 

MSDNに、
「DialogProc は、アプリケーション定義の関数名のプレースホルダです。」
という記述があります。

ダイアログプロシジャは「DialogProc」という名前である必要はありません。
といいますか、名前は自分で決るものなので、
ClassWizardを見てもDialogProcがないというのは、
当然といえば当然なわけですね。


返信引用
ウィンウィン
 ウィンウィン
(@ウィンウィン)
ゲスト
結合: 22年前
投稿: 3
Topic starter  

なるほど、ありがとうございました。
勉強になりました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました