プロパティシートにアクセラレータつけて、
コントロールに普通の(Ctrl+とかじゃない)ASCIIキーを割り付けたいんだけど、
フォーカスがエディットコントロールとかにあるときはアクセラレータが効かずに入力できる
ようにしたいんです。
一応、こんなコーディングで出来たんですが、もっとスマートな方法ありますか?
BOOL CMySheet::PreTranslateMessage(MSG* pMsg)
{
CWnd* pFocus;
if((pFocus = GetFocus())) {
int nId = pFocus->GetDlgCtrlID();
if( nId != IDC_EDIT1 &&
nId != IDC_EDIT2 &&
nId != IDC_EDIT3 &&
nId != IDC_EDIT4 ) {
if(TranslateAccelerator(*this, m_hAccel, pMsg)) return true;
}
}
return CPropertySheet::PreTranslateMessage(pMsg);
}