我正在尝试在笔记编辑控件中实现 ctrl+A:m_editNoteTypeView”,它是类 NoteDialog 中的 cEdit 实例。我的笔记编辑如下所示。
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
.
我已经PreTranslateMessage(MSG* pMsg)
在 SDialog 中定义了,但控制不会转到 PreTranslateMessage ,因此当我在笔记编辑上打字时,我无法检查我在 keboard 上按了哪个键。
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);
}