ENTER Key change the focus of Edit Controls

本文详细介绍了如何使用CTl+D键设置对话框中EditControls的焦点顺序,并通过Enter键实现焦点之间的无缝切换。包括使用SendDlgItemMessage和PostMessage函数的方法,以及在OnBnClickedOk函数中实现焦点自动流转的示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在对话框上按Ctl+D键可以设置Tab键的焦点顺序,把你想要的Edit Controls设置为第一,这样对话框启动时就自动设置为焦点了。


如果使用程序来设置如下,

this->SendDlgItemMessage(IDC_Name,WM_SETFOCUS,0,0);

或者
GetDlgItem(IDC_Name)->PostMessage(WM_SETFOCUS, 0, 0);


如果想通过Enter键来切换Edit Controls的焦点,可以使用OK键的消息函数来捕捉Enter回车键,在OnBnClickedOk()函里进行 Edit Controls 焦点的切换m,  


    CWnd* pwndCtrl = GetFocus();
    CWnd* pwndCtrlNext = pwndCtrl;
    int ctrl_ID = pwndCtrl->GetDlgCtrlID();


    switch (ctrl_ID) {
        case IDC_Edit1:
            pwndCtrlNext = GetDlgItem(IDC_Edit2);  //切换焦点
    pwndCtrlNext->SetFocus();
            return;  //退出。
//break;
        default:
            break;
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值