vc6,基于MFC的对话框程序,DoModal()一个我自己定义的对话框B后,如何把焦点设置在对话框B的Edit控件上?

vc6,基于MFC的对话框程序,DoModal()一个我自己定义的对话框B后,如何把焦点设置在对话框B的Edit控件上?,第1张

有两种方法:

第一:在对话框B上,设计时将EDIT的Tab Order顺序设为第一个,这样默认的焦点就是EDIT 。

第二:在对话框的初始化函数OnInitDialog()中使用成员函数SetFocus()

GetDlgItem(IDC_EDIT1)->SetFocus()

注意:要将OnInitDialog()的return TRUE改为return FALSE

这是设置焦点和去除焦点的方法:

void SetFocus(BOOL bFocus = TRUE)

  {

     if(bFocus)

     {

        ::PostMessage(m_Edit.m_hWnd,WM_SETFOCUS, (WPARAM)m_Edit.m_hWnd, 0)

        ::PostMessage(m_Edit.m_hWnd,WM_ACTIVATE, WA_ACTIVE, 0)

     }

     else

     {

        ::PostMessage(m_Edit.m_hWnd,WM_KILLFOCUS, 0, 0)

     }

  }


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8121919.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存