ダイアログプロシージャ

公開:2011-09-05 14:23
更新:2020-02-15 04:36
カテゴリ:その他api,c++,dawもどきの作成,windows,audio

ダイアログベースのアプリケーション上で、メッセージボックスやファイルダイアログを表示したらメッセージボックスやファイルダイアログ内のUIを押しても何も反応がなくなってしまう問題は解決した。

ダイアログプロシージャでは通常、処理しないメッセージがある場合はFALSEを返しておけばいよいとの事。ウィンドウプロシージャのようにDefWindowProcしてはいけない。MSDNライブラリに書いてあった。

http://msdn.microsoft.com/ja-jp/library/cc410762.aspx

ダイアログボックスプロシージャはウィンドウプロシージャに似ていますが、ダイアログボックスプロシージャは不要なメッセージを処理させるために DefWindowProc 関数を呼び出してはなりません。不要なメッセージはダイアログボックスウィンドウプロシージャが内部的に処理します。

これは基本中の基本かも。ちょっとはずかしい。。ダイアログの処理はいままでもやったことはあるが上記のことはあんまり意識していなかったかもしれない。気を付けないと。。