エンターキーを押すと終了してしまう – プログラミング – Home

エンターキーを押すと終了してしまう
 
通知
すべてクリア

[解決済] エンターキーを押すと終了してしまう


初心者8号
 初心者8号
(@初心者8号)
ゲスト
結合: 23年前
投稿: 23
Topic starter  

いまMFCダイアログボックスベースで作っています。
エディットボックスなどにカーソルを置いてエンターキーを押してしまうと
ウインドウが終了してしまいます。

終了しないようにはどうしたらいいでしょうか?
VC++6.0MFC使用


引用未解決
トピックタグ
アイススケーター
 アイススケーター
(@アイススケーター)
ゲスト
結合: 23年前
投稿: 280
 

クラスウィザードでPreTranslateMessageメンバ関数を追加して↓のように処理します。

BOOL C****Dlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: この位置に固有の処理を追加するか、または基本クラスを呼び出してくだ
さい
if( (pMsg->message == WM_KEYDOWN) || (pMsg->message ==
WM_SYSKEYDOWN) ) {
switch(pMsg->wParam) {
case VK_RETURN:
return TRUE;
}
}
if( pMsg->message == WM_DESTROY) {
Sleep( 100);
}

return CDialog::PreTranslateMessage(pMsg);
}


返信引用
初心者8号
 初心者8号
(@初心者8号)
ゲスト
結合: 23年前
投稿: 23
Topic starter  

言われたとおりの記述することで実現できました
しかしこれどういう関数なんでしょうか?

命令がディスパッチされる前にそれらをフィルターするために呼び出されます??


返信引用
アイススケーター
 アイススケーター
(@アイススケーター)
ゲスト
結合: 23年前
投稿: 280
 

「PreTranslateMessagの使い方」がヘルプで参照できます。
詳しくは、こちらを


返信引用
初心者8号
 初心者8号
(@初心者8号)
ゲスト
結合: 23年前
投稿: 23
Topic starter  

こちらもヘルプを見ればよいことを簡単に聞いてしまいました。
以後気をつけます。

解決です。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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