なんか知らんけど、色々やっかい。
調べた事を残しておかなくては・・・
ダイアログ上の自作コントロールでキー処理を行う方法は、
ダイアログメソッドに以下を追加する。
// イベントメッセージ分配前処理
BOOL CXxxxDlg::PreTranslateMessage(MSG *pMsg)
{
if(pMsg->message!=WM_KEYDOWN) return FALSE;
// ダイアログ上の編集コントロールがフォーカスを持っていないか?
if(GetFocus()!=GetDlgItem(IDC_EDIT_A)) return FALSE;
if(GetFocus()!=GetDlgItem(IDC_EDIT_B)) return FALSE;
switch(pMsg->wParam){
case 'V':
if((GetKeyState(VK_CONTROL)&0x8000)==0) return FALSE;
// ctrl-Vの処理
break;
case VK_DELETE:
// 削除処理
break;
default: return FALSE;
}
return TRUE;
}
0 件のコメント:
コメントを投稿