在Dialog中有多个Button,如何在Dialog的KeyDown事件中响应左右方向键?

郑大满 2002-11-12 11:19:24
在Dialog中有多个Button,按左右方向键,其默认行为是切换Button之间的焦点,
我想改变这种默认行为,需要在Dialog的KeyDown事件中响应左右方向键,如何才能实现?
...全文
52 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
longlong3 2002-12-17
  • 打赏
  • 举报
回复
thank you!
small_wei 2002-11-13
  • 打赏
  • 举报
回复
BOOL youdlg::PreTranslateMessage(MSG* pMsg)
{
if (pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_DOWN){ //按下向下键
CWnd* wnd = FromHandle(pMsg->hwnd);
ff2=true;
int i = wnd->GetDlgCtrlID();
switch (i){
case IDC_BUTTON1:
GetDlgItem(IDC_BUTTON2)->SetFocus()
return true;

case IDC_BUTTON2:
GetDlgItem(IDC_BUTTON3)->SetFocus()
return true;
.....................
nicolas2001 2002-11-13
  • 打赏
  • 举报
回复
同意small_wei的
来晚了!
ajn_sailing 2002-11-13
  • 打赏
  • 举报
回复
同意
郑大满 2002-11-13
  • 打赏
  • 举报
回复
Thanks a lot
zhang865 2002-11-13
  • 打赏
  • 举报
回复
来晚了,同意上面的,基于对话框的程序中的键盘事件的用PreTranslateMessage(MSG* pMsg)来处理。

15,979

社区成员

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

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