掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
キーイベントでEDITボックスの書き換えを行うには? (ID:62633)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> 課題でしたので 課題だったら何してもいいのかなぁ。。。 先のソースは少し冗長すぎたので、修正。 BOOL CEditTestDlg::PreTranslateMessage(MSG* pMsg) { // TODO: この位置に固有の処理を追加するか、または基本クラスを呼び出してください if ( pMsg->message == WM_KEYDOWN ) { if ( pMsg->wParam == VK_DOWN ) { CWnd* pWnd = CWnd::FromHandle( pMsg->hwnd ); CString text; pWnd->GetWindowText( text ); static LPCTSTR edit8Values[] = { _T( "1" ), _T( "4" ) }; static LPCTSTR edit13Values[] = { _T( "2" ), _T( "5" ) }; static LPCTSTR edit14Values[] = { _T( "3" ), _T( "6" ) }; LPCTSTR *plst = NULL; switch ( pWnd->GetDlgCtrlID() ) { case IDC_EDIT8: plst = edit8Values; break; case IDC_EDIT13: plst = edit13Values; break; case IDC_EDIT14: plst = edit14Values; break; } if ( plst ) { if ( text == plst[ 0 ] ) { pWnd->SetWindowText( plst[ 1 ] ); } else if ( text == plst[ 1 ] ) { pWnd->SetWindowText( plst[ 0 ] ); } } } } return CDialog::PreTranslateMessage(pMsg); } ソースをコピペして提出しても、わかる人には他人が書いたソースということが ばれます。 わからないのであるならば、素直に先生に相談すべきだと思います。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.