zoukankan      html  css  js  c++  java
  • 控件失去焦点与获得焦点

    1.失去焦点

    让控件失去焦点的方法,就是给该控件发送一个WM_KILLFOCUS的消息。可以通过下面三种方式实现

    #1使用Cwnd类的PostMessage

    GetDlgItem(控件ID号)->PostMessage(WM_KILLFOCUS,0,0);

    #2获取控件的句柄,然后通过句柄直接给控件发送消息,使用函数LRESULT SendMessage(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM IParam)

    ::SendMessage(GetDlgItem()->m_hWnd,WM_KILLFOCUS,-1,0);

    #3使用MFC封装的函数

    SendDlgItemMessage(控件ID号,WM_KILLFOCUS,0,0);

    2.获得焦点

    获取焦点很简单,通过CWnd提供的SetFocus()即可.

    GetDlgItem(控件ID号)->SetFocus();

            


    样例:

    1.在VC中新建一个基于对话框的MFC程序。

    2.从工具栏中拖出控件,摆在对话框上,并删除自动生成的按钮和静态文本。摆好后如下图所示。

    3.为各个控件命名ID,命名后如下所示

    4.双击界面上的按钮,添加按钮响应事件。

    void CKillFocusDlg::OnKillA() 
    {
        GetDlgItem(IDC_first)->PostMessage(WM_KILLFOCUS,0,0);    
    }
    
    void CKillFocusDlg::OnSetA() 
    {
        GetDlgItem(IDC_first)->SetFocus();
    }
    
    void CKillFocusDlg::OnKillB() 
    {
        GetDlgItem(IDC_second)->PostMessage(WM_KILLFOCUS,0,0);    
    }
    void CKillFocusDlg::OnSetB() 
    {
        GetDlgItem(IDC_second)->SetFocus();
    }

    5.编译运行

  • 相关阅读:
    js获取当前系统时间
    input标签之外是否一定添加form标签
    用css实现凹陷的线条
    js中的类型和函数参数传递类型问题
    jqDOM操作
    js中null与undefined的区别
    centos 支持复制与粘贴
    docker 部署springboot应用
    springboot springcloud 父项目pom工程创建pom文件
    自写流程图 支持批量展示
  • 原文地址:https://www.cnblogs.com/tiredoy/p/3366521.html
Copyright © 2011-2022 走看看