我試圖在note註釋編輯控件中實現ctrl + A:m_editNoteTypeView這是類NoteDialog中cEdit的實例。 我的註釋編輯像下面一樣創建。PreTranslateMessage方法沒有被調用,以便實現C + +中的Ctrl + A
NoteDialog::initDialog()
{
m_editNoteTypeView.CreateEx(::GetWindowLong(m_editSubject.m_hWnd, GWL_EXSTYLE), "edit", "", dwStyle | ES_READONLY, CRect(0, 0, 0, 0), this, 0);
m_editNoteTypeView.SetSel(0,-1,TRUE);
}
NoteDialog類是從名爲Sdialog另一類最後從CDialog
得出的。
我在SDialog定義PreTranslateMessage(MSG* pMsg)
但控制不會的PreTranslateMessage,因此我的我無法覈對的關鍵我當時正在按鍵板上在筆記上打字編輯。
bool Sdialog::PreTranslateMessage(MSG* pMsg)
{
if (GetFocus() == this)
{
if (pMsg->message == WM_CHAR)
{
if ((LOWORD(pMsg->wParam) & VK_CONTROL) == VK_CONTROL)
{
//SetSel(0, -1);
}
}
}
return CDialog::PreTranslateMessage(pMsg);
}
如果編輯控件具有焦點時,會不會是處理按鍵?你嘗試過'WM_KEYDOWN'嗎? –