CWnd中创建控件修改其TAB顺序

在CDialog中改变Tab键顺序可以使直接在向导中直接修改(静态创建),也可以在创建控件的时候指定其WS_TABSTOP属性,TAB顺序就是按照你创建的先后顺序来指定的;

但是在CWnd类中通过修改其WS_TABSTOP属性就不能实现了,还需要在PreTranslateMessage(MSG* pMsg) 响应其tab键然后设置SetFocus来实现:

BOOL CChildView::PreTranslateMessage(MSG* pMsg)
{
// TODO: 在此添加专用代码和/或调用基类

if(pMsg->message == WM_LBUTTONDOWN)
{
  TRACE(_T("WM_LBUTTONDOWN"));
}
if   (pMsg-> message   ==   WM_KEYDOWN)  
{  
  if(   pMsg-> wParam   ==   VK_TAB)  
  {  
   CWnd*   pWndNext   =   GetNextDlgTabItem(GetFocus());  
   if   (pWndNext)    
   {  
    pWndNext-> SetFocus();  
   }  
   return   TRUE;  
  }  
  else  
  {  
   return   CWnd::PreTranslateMessage(pMsg);  
  }  
}  
else  
{  
  return   CWnd::PreTranslateMessage(pMsg);  
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值