文章类型: VC&C++
关键词: VC,CEdit,文本输入框控件,运行,得到输入焦点,方法
内容摘要: VC中文本输入框控件CEdit在运行时得到输入焦点的方法

VC中文本输入框控件CEdit在运行时得到输入焦点的方法

2017/10/17 16:23:25    来源:apple    阅读:

关键代码:

(CEdit*)GetDlgItem(IDC_NAME)->SetFocus();

也可以直接使用:"GetDlgItem(IDC_NAME)->SetFocus();"

 强制为CEdit类指针,即可使用SetFocus()成员函数,在运行时就可以得到输入焦点了。


例子:简单的登录对话框点击登录控钮时的代码:

void CLogin::OnOK() 
{
        // TODO: Add extra validation here
        UpdateData(TRUE);
        if(m_strName!= "admin" || m_strPwd!= "password")
        {
                MessageBox("用户名或是密码错误!","登录提示",MB_ICONSTOP | MB_OK);

                (CEdit*)GetDlgItem( IDC_NAME)->SetFocus();

                return;
        }
        CDialog::OnOK();
}

若输入有误或不正确,文本框用户名得到输入焦点。


blob.png



VC++ 如何在显示对话框的时候,指定焦点控件!

很简单:


在你的CAddDlg类的OnInitDialog函数中

加上你上面的代码

GetDlgItem(IDC_EDIT1)->SetFocus();

最后记得"return FALSE;"


其实,不知道返回FALSE是啥意思!


查了说明:


Return Value

Specifies whether the application has set the input focus to one of the controls in the dialog box.


If OnInitDialog returns nonzero, Windows sets the input focus to the first control in the dialog box. 


The application can return 0 only if it has explicitly set the input focus to one of the controls in the dialog box.


 


翻译一下,大概的意思是


返回值 是确定对话框在打开的时候,对话框焦点的位置.


如果返回为非零(TRUE),但指定对话框在打开的时候,焦点位于第一个控件上.


如果返回值为零(FALSE),则是根据指定的控件来设定焦点的位置.

↑ 上一篇文章:VC++中CMap的使用 关键词:VC++,CMap,Lookup,SetAt,GetSt.. 发布日期:2017/10/17 14:38:10
↓ 下一篇文章:在VC中使用CButton来动态创建的单选按钮、复选按钮为何总是禁用状态 关键词:VC,动态创建,CButton,单选按钮,复选按钮,为何.. 发布日期:2017/10/18 14:45:34
相关文章:
VC中文本输入框控件在运行时得到输入焦点的方法 关键词:VC,文本,输入框,控件,运行,得到,输入焦点,方法 发布日期:2017-11-17 09:36
VC中退出应用程序-几种很有用的方法 关键词:VC,退出,应用程序,方法,PostMessage,SendMessage 发布日期:2017-11-29 14:15
微软常用运行库合集 2017.08.24 关键词:VC,微软,常用,运行库,合集,,2017.08.24,Windows,系统工具 发布日期:2017-08-30 13:46
相关目录:.NETVC&C++软件开发
我要评论
正在加载评论信息......