有没有办法在派生的 CRichEditCtrl 类中捕获箭头键?我请求所有键并捕获 OnGetCode() 和 OnChar() 命令。
UINT MyRichEditCtrl::OnGetDlgCode()
{
return CRichEditCtrl::OnGetDlgCode() | DLGC_WANTALLKEYS;
}
和
void MyRichEditCtrl::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
CRichEditCtrl::OnKeyDown(nChar, nRepCnt, nFlags);
...
}
我在消息映射中匹配它们..
BEGIN_MESSAGE_MAP(MyRichEditCtrl, CRichEditCtrl)
ON_WM_CHAR()
ON_WM_GETDLGCODE()
END_MESSAGE_MAP()
我得到了大多数键,但没有箭头键。我对 OnKeyDown 和 OnKeyUp 事件也得到了相同的结果。还有其他方法可以获取方向键吗?
具体来说,我有兴趣知道当前光标位置的字符是否是括号。用户可以通过键入字符、用鼠标单击编辑控件中的某处或用箭头键移动光标位置来更改光标位置。我在想是否可以检测到箭头键,然后我可以找出光标是否在括号中。