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设置对话框焦点的方法简述,主要讲述了两种实现方法,需要的朋友可以参考下

SuperPoint与SuperGlue的C++ TensorRT工程化实战:从理论到部署的完整指南

本文详细介绍了如何将SuperPoint和SuperGlue算法通过C++和TensorRT进行工程化部署,从模型准备、格式转换到TensorRT引擎构建和C++推理实现。通过性能优化技巧和实际应用案例,展示了在边缘设备上实现实时特征匹配的完整流程,显著提升处理速度与效率。

weixin_42537831的博客 160

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

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

a2561346的博客 3025

搜索引擎——ElasticSearch汇总

汇总——ElasticSearch篇 全文检索 问题1:什么是全文检索? 基本概念:对**非结构化数据/结构化数据**先建立**索引**,再对索引进行搜索**文档**的过程叫做全文检索。 什么是非结构化与结构化数据? - 非结构化数据:没有固定的格式的数据(html,word,excel)---没有固定长度,字段约束,描述,散列数据 - 结构化数据:有固定的格式的数据(如:数据库数据)---有固定长度(varchar(50)),字段类型,描述修饰数据 搜索算法:顺序扫描法、倒排索引法 - 顺序

alonewolf_99的博客 1839

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

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

smallmount123的专栏 2824

别再手动抄表了!用PaddleOCR超轻量模型5分钟搞定数字仪表识别(附完整Python代码)

本文介绍如何利用PaddleOCR超轻量模型快速实现工业仪表数字识别自动化。通过5行核心代码和关键预处理步骤,显著提升识别准确率至98.2%,解决传统OCR在工业场景中的体积大、抗干扰弱等问题,并提供完整Python代码和边缘部署优化方案。

weixin_31062533的博客 350

一分钟学会MATLAB-数据清洗(含完整代码)

数据清洗是数据分析过程中的一个重要步骤,目的是提高数据的质量,以便进行更有效的分析。% 删除超出阈值的行。% 用线性插值填充缺失值。% 删除包含缺失值的行。% 找到缺失值的位置。% 可视化数据,识别异常值。缺失值是数据清洗中常见的问题。通过以上步骤,你可以有效地清洗数据,使其准备好进行后续的分析和建模。

2402_87132195的博客 3316

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

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

chenhao0568的专栏 837

保姆级教程:手把手教你为裕泰微YT8521 PHY芯片编写Linux设备树(DTS)节点与驱动

本文提供了一份详细的保姆级教程,手把手教你为裕泰微YT8521 PHY芯片编写Linux设备树(DTS)节点与驱动。从基础配置到RGMII接口的特殊设置,再到驱动开发的关键步骤和调试技巧,帮助开发者快速掌握PHY芯片的移植与开发。

weixin_33734785的博客 333

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

手把手教你用STM32F103C8T6驱动HUB75 LED点阵屏(附74HC595级联代码)

本文详细介绍了如何使用STM32F103C8T6开发板驱动HUB75接口的LED点阵屏,包括硬件连接、74HC595级联代码、时序控制及灰度显示实现。通过实战案例展示动态文字显示和性能优化技巧,帮助开发者快速掌握LED点阵屏驱动技术。

weixin_42623010的博客 342

无符号整数、带符号整数溢出问题

让我们详细讲解一下带符号整数溢出和无符号整数溢出问题中,符号标志位 (SF)、零标志位 (ZF) 和进位标志位 (CF) 的行为方式

weixin_49342084的博客 2088

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

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

dengziliang001的专栏 8223

【技能】伪真openclaw主动式智能体—告别‘巨婴’AI工具人:体验主动智能体的魅力

摘要: 传统AI常因被动执行、缺乏闭环而令人抓狂。Proactivity主动执行能力将AI从"指令跟随者"升级为"主动合伙人",具备预判需求、自动推进、断聊恢复、问题自解等能力。其核心原理在于建立AI专属工作体系(持久化内存、动态任务层、临时缓存层、归档复盘层),通过7步闭环(感知触发→状态恢复→边界校验→方案探索→动作决策→执行落地→状态留存)确保安全高效。

海兰 209

VC中RichEdit 控件的使用

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

zhjr1220的专栏 1016

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

MFC设置控件焦点

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

字节跳动 2123

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

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

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

weixin_39801613的博客 2219

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

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

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值