我创建了一个 MFC 文档视图应用程序并添加了几个继承CEdit
自CView
. 我想在每个CEdit
工作之间进行切换。我环顾四周,大多数解决方案都涉及添加IsDialogMessage()
到消息循环或PreTranslateMessage
. 我已经在这样的类PreTranslateMessage
方法中尝试过这个:CEdit
BOOL WordControl::PreTranslateMessage(MSG* pMsg)
{
if(IsDialogMessage(pMsg))
return TRUE;
else
return __super::PreTranslateMessage(pMsg);
}
但是,现在 CEdit 没有收到任何键盘消息,也没有制表符。我创建了CEdit
这样的:
Create(WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER | ES_CENTER , Rect, Parent, Index);
我究竟做错了什么?
编辑:
该应用程序使用基本的 MFC 单文档模板。我正在动态添加几个继承自的对象CEdit
和几个继承自CStatic
. 我已经设法创建了所有的CEdits
andCStatics
但我希望能够从 to 制表CEdit
符CEdit
。
一张图片胜过千言万语; 这是一个屏幕截图:
我希望能够在第一个中键入“你好” CEdit
,点击选项卡并让下一个CEdit
获得焦点。然后我将输入“world”,然后点击选项卡,下一个CEdit
将重点让我输入“this”等。
编辑:
新窗户: