MFC中如何将焦点设置到指定控件上

用回车键实现MFC对话框中TAB键控件输入焦点在控件中跳转的效果 阅读详情

MFC中如何将焦点设置到指定控件上


需求:

        窗口打开的时候就将焦点(光标)设置到某个指定的控件上去。


实现方法:

       设置焦点需要用到setFocus这个方法(几乎任何编程环境都这样VC,C#,VB,VF都这样)。

注意:

       在VC中我们使用了GetDlgItem(IDC_XX)->SetFocus()并不一定会达到我们需要的效果。


原因:

      是逻辑上错了,因为当窗口显示的时候,在窗口弹出前通过SetFocus设置的焦点都将作废。


解决方法:

       不仅要设置SetFocus(),我们还需要将对话框中的OnInitDialog的最后那句return设置为"FALSE";

      (将弹出提示框前需要设置获得焦点的目标控件存储起来,等提示框显示完了我仍然可以对该控件进行设置焦点的操作,问题总算解决了。)

 

这里写出来,希望大家不要走我这样的弯路哦!

 

顺便说一下如何获取到焦点所在的控件的ID号,也许这对大家操作焦点所在控件有作用;

MFC::
CWnd *pWnd = GetFocus(); 
if(pWnd == NULL)
;//no focus
else
UINT nID = pWnd->GetDlgCtrlID();

SDK:
HWND hWnd = ::GetFocus();
if(hWnd == NULL)
;//no focus 
else
UINT nID = ::GetDlgCtrlID(hWnd);

mfc非模态对话框Child窗口CEdit控件获取不到焦点问题 遇到的问题就是创建一个非模态的子窗口。发现子窗口上的edit控件总是不能被激活,开始担心自己工程出问题了,于是新建了一个sdi,如图问题依然存在,既然如此那就在新工程中找问题,先设置对话框style,popup/overlap都能正常使用,再试试模式对话框(有点没必要,因为模式对话框不能是child)依然没问题,为了保守起见,还是多托几个控件靠谱,发现只有edit无效,尴尬。那就只能对edit下手 阅读详情

相关推荐

MFC之Button控件(二)

Command Button Control;MFC Button Control ;MFC ColorButton Contro;MFC MenuButton Control。使用简介

qq_40526309的博客 1921

MFC 窗口获取焦点

CWnd* CWnd::SetFocus(); 如果调用某窗口的SetFocus()成员函数,该窗口就可以取得输入焦点,该函数返回前一个拥有输入焦点的窗口。 如果某个窗口的输入焦点被抢走,Windows系统就会发出WM_KILLFOCUS消息给这个失去输入焦点的窗口,同时还会告诉该窗口下一个取得输入焦点的窗口的指针。而获得输入焦点的窗口则会收到WM_SETFOCUS消息。 消息响应函数分别为

志汉天涯~!~Day Day Up~ 1万+

MFC桌面右下角弹窗不抢当前窗口焦点同时不抢父窗口焦点

配套博客地址:http://blog.youkuaiyun.com/panshiqu/article/details/9626073 现在需要写的功能我简单说一下,类似腾讯QQ右下角弹出的新闻框那种,有两点细节我特别强调一下,仅有父窗口时不能抢父窗口焦点,父窗口不在而运行的其他程序的焦点也不能抢

C++ MFC 如何将焦点设置到指定控件上

为什么80%的码农都做不了架构师?>>> ...

weixin_33991418的博客 1046

MFC设置对话框焦点的方法简述

主要介绍了MFC设置对话框焦点的方法简述,主要讲述了两种实现方法,需要的朋友可以参考下

从封装到先进封装:一文讲透Chiplet、2.5D/3D堆叠与系统集成

封装是芯片产业链中连接硅片与电路板的桥梁,承担物理保护、电气连接、散热与机械支撑等核心任务。传统封装从DIP、QFP发展到BGA,通过提升引脚密度满足早期性能需求。随着摩尔定律放缓,单纯缩小晶体管尺寸难以为继,先进封装应运而生,其核心理念从“封装单颗芯片”转向“系统级高密度集成”。扇出型封装、2.5D硅中介层、3D堆叠、Chiplet和系统级封装等技术,通过微米级互连和垂直堆叠,大幅提升I/O密度与带宽,成为AI芯片、HBM存储、高性能计算等领域的关键支撑。本文梳理先进封装的技术演进、分层架构与工程难点,帮

weixin_29185167的博客 367

MFC小技巧系列——1、初始焦点设置

MFC小技巧系列——1、初始焦点设置 我们在使用mfc编写windows界面应用程序时,启动mfc程序后,mfc会自动分配初始的控件焦点,有时候这些焦点被分配置到编辑框、列表框时,就会造成误操作,那么该如何避免这种情况呢,这就需要我们在程序初始化时候为他设置一个控件焦点 BOOL CMakeFilesDlg::OnInitDialog() { CDialogEx::OnInitDialog(...

a2561346的博客 3025

STLink驱动安装全攻略:从卸载到Keil配置的完整避坑指南

本文提供了STLink驱动安装与Keil环境配置的完整避坑指南。详细讲解了从驱动卸载、重装到Keil调试器设置的每一步,并针对常见的设备无法识别、连接不稳定等问题给出了深度解决方案,帮助开发者快速搭建稳定的STM32开发环境。

weixin_29182481的博客 424

VS2010 MFC CEdit控件 定位 末尾 设置焦点

VS2010 MFC CEdit控件 定位 末尾 设置焦点基本操作请查阅鸡啄米的文章: 这里写链接内容很多人想要在CEdit控件的字符串末尾增加数据,然而他的接口函数好像并没有,那么有两个办法: 将数据存储在CString CString getStr = “465”; m_edit_rec2.SetWindowText(_T("连接")) 设置焦点 CString getStr = "465";

smallmount123的专栏 2824

LangChain实战:Plan and Execute代理在智能预算规划中的应用

本文详细介绍了如何利用LangChain框架中的Plan and Execute代理实现智能预算规划。通过拆解复杂财务问题、调用多工具链协作,该代理能自动完成从个人月度预算到家庭年度综合预算的智能规划,并具备消费习惯学习和多目标优化等进阶功能,帮助用户实现精准财务管理和决策优化。

weixin_42530732的博客 382

剑灵解包器修改xml.dat文件修改乳量方法

本篇内容是基于单机版网游改单机版游戏剑灵的内容,主要针对关于单机版进行数据修改,当然了对于网端有关于剑灵已有很多,像小助手等多种可以更改,但是存在有封号危险,好,下面我们是在单机版中来进行乳量的修改教程。

灵魂学者的博客 3301

C#条型码二维码批量识别工具 可以从粘贴板获取图片或路径等 MFC消息示例

【代码】C#条型码二维码批量识别工具 可以从粘贴板获取图片或路径等 MFC消息示例。

chenhao0568的专栏 837

Oracle EBS AP 应付模块核心实现逻辑(极简骨架 + 分层拆解 + 业务流转 + 分录 + 核心表)

Oracle EBS AP应付模块采用四层逻辑架构:1)主数据层统一管控供应商基础信息;2)发票负债层通过三单匹配校验生成应付账款;3)付款核销层实现负债冲减;4)SLA层自动生成财务凭证。核心流程包括发票验证(匹配PO/收货单)、付款核销(全额/部分冲账)、会计分录自动生成(通过SLA引擎)。模块严格遵循"无匹配不负债、无验证不入账"原则,与采购、库存等模块深度集成,实现从供应商创建到付款核销的完整业务闭环,确保应付账款准确性和审计追溯能力。

金牌架构师 440

VC中Edit Control控件的用法

1.设置edit只读属性       方法一:m_edit1.SetReadOnly(TRUE);       方法二:::SendMessage(m_edit1.m_hWnd, EM_SETREADONLY, TRUE, 0); 2.判断edit中光标状态并得到选中内容(richedit同样适用)               int nStart, nEnd;               CString strTemp;               m_edit1.GetSel(nStart, nEnd)

开发 4259

LVGL hal indev(porting evdev)

LVGL中对输入设备的管理是单例实现的,而在Linux的输入设备是多个的,所以需要对其进行改造成多例实现。

Bigan(安)的博客 3346

uniapp - 超详细的 H5 公众号网页微信登录示例代码,提供从 0-1 公众号配置及详细注释代码(站在新手小白的角度)第三方微信授权登录的实现!!

uniapp微信浏览器H5授权微信登录,UniApp开发H5接入微信登录的全过程,uniapp的H5页面使用微信登录,uniapp H5微信授权登录,H5之微信授权登陆 (uniapp网页版微信授权登录),uni-app开发H5第三方微信授权登录的实现,uniapp如何实现微信授权登录,公众号H5页面接入微信登录流程,uni-app - 最详细 H5 网页接入微信登录功能,提供公众号配置与详细注释示例代码(移动端网页实现点击登录按钮后 调用微信公众号授权登录功能 详细讲解接入流程与详细示例代码)官方最新超级

✅ 精选推荐文章 1万+

MFC中通过控件ID设置控件焦点

某些时候,当我们设置好界面参数,点击应用或者确定的时候,会校验参数的合法性,当参数不合法时,最好将焦点设置到不合法的控件上,下面贴出通过控件ID将焦点设置到指定ID的控件上的代码:               CWnd *cWnd = GetDlgItem(IDC_EDIT_PUBLIC_ISO_FILE_NAME);       cWnd->SetFocus();

dengziliang001的专栏 8223

SAP-ABAP:FI财务会计模块常用BAPI及核心用途实例说明

SAP FI模块的BAPI覆盖了从主数据管理、凭证过账到财务关账的全流程操作,是系统集成与自动化的重要工具。实际应用中需结合业务场景选择合适的BAPI,并严格遵循事务控制与校验规则。如需扩展功能,可通过BAdI或用户出口增强标准逻辑。

baidu_35680696的博客 1601

VC中RichEdit 控件的使用

在mfc中使用工具栏里的RichEdit 控件时,应该在程序初始话时加入AfxInitRichEdit,或者 AfxInitRichEdit2 , 否则的话 程序会起不来.也没有任何错误信息.这俩函数 是加载 Riched20.dll(Riched32.dll )的. 1.设置edit只读属性     方法一:                 m_edit1.SetReadOnl

zhjr1220的专栏 1016

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

MFC设置控件焦点

解决方法 在OnInitDialog()方法中,设置焦点到指定控件,并返回FALSE。 BOOL CToolDlg::OnInitDialog() { ... GetDlgItem(IDC_BTN1)->SetFocus(); return FALSE; } 分析 Return Value Specifies whether the application has set the i...

字节跳动 2123

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

android 默认焦点设置_Android界面设计基础:控件焦点4个步骤

作者丨devstrongzhao来源丨简书https://www.jianshu.com/p/5fd581329946现在,随着越来越多的Android的应用出现在Android Market上,如何能更加吸引用户成为摆在开发者面前的重要课题。作为Android应用,不仅要在内容上取胜,在比如界面等细节上也要很重视用户的使用体验,如果用户觉得操作困难和不符合操作习惯的话,就会认为应用不好...

weixin_39801613的博客 2219

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

上一篇: error C2533: 构造函数不能有返回类型
下一篇: MFC模态对话框和非模态对话框
死神在世
博客等级 码龄14年 233粉丝 102原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值