2000/10/08 - CCalc新バージョン

CCalc をバージョンアップ。


F1 キーでのヘルプを出ないようにする方法。CWinApp::WinHelp() をオーバーライドする。


コンボボックスでの Enter キーを取得する方法。今まで コンボボックス内のエディットボックスをサブクラス化し,WM_USER を発行して以下のように取得していた。

WM_CHAR->WM_USER->処理関数

だが,よく調べてみると,WM_CHAR の部分が呼ばれてなく,何故か 1024 番(=WM_USER)のメッセージが直接とんできて結果的に処理されていただけだった。コンボボックスで Enter が押されたときに MFC が勝手に 1024 番のメッセージをとばしているようだ。

で,気持ちが悪いので改善。CComboBox から派生したクラスを作り,その中の PreCreateWindow メッセージ内で処理するようにした。これでうまくいって,さらに,今まで Ctrl+Shift+H で勝手にバックスペースになってしまう,となっていたのも回避することができるようになった。

コメントする