编辑框怎么接受Tab键

cowbird 2003-11-19 11:39:24
加精
我的程序中一个对话框上有一个编辑框(多行),一个按钮,当我在编辑框中编辑时,按下Tab键,程序将焦点切换到了按钮上,但是我的目的是想让编辑框接收这个Tab键。怎么办?
...全文
78 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
aaasng 2003-11-19
  • 打赏
  • 举报
回复
BOOL CAsDlg::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_TAB)
{
int start, end;
HWND hWnd = ::SetFocus(m_edit.m_hWnd);
if(hWnd != m_edit.m_hWnd)
::SetFocus(hWnd);
else
{
m_edit.GetSel(start, end);
m_edit.SetSel(start, start);
m_edit.ReplaceSel("\t");
return TRUE;
}
}
return CDialog::PreTranslateMessage(pMsg);
}

重载一下对话框的PreTranslateMessage,另外可以把edit的tab stop属性去掉,这样当别的空间有焦点的时候,就仍然可以用TAB切换
cowbird 2003-11-19
  • 打赏
  • 举报
回复
谢谢!

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧