社区
资源
帖子详情
如何使控件失去焦点?
liu5644
2003-07-26 07:26:51
自己写了一个日期( MyDate类)编缉框,想要要让它输完日期将焦点移到下一个控件,
即要在MyDate类中向父类发送消息(?),使焦点移到下一个控件
...全文
1049
6
打赏
收藏
如何使控件失去焦点?
自己写了一个日期( MyDate类)编缉框,想要要让它输完日期将焦点移到下一个控件, 即要在MyDate类中向父类发送消息(?),使焦点移到下一个控件
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
BuZhang_AP97091
2003-08-04
打赏
举报
回复
如果你的ID号是连续的,那可以用ID-1取得
(把资源文件打开,编辑好各控件ID)
apcad
2003-08-02
打赏
举报
回复
##
##
### ##
### #############
## ### ##
### ##
### ### ##
############## ##
### ### ##
## ### ##
### ### ##
### ### ##
### ############
###### ## ## ## ##
#### ### ## ##
##### ## ## ##
## ## ## ## ##
## ## ## ##
## ## ### ##
## ### ## ##
### ## ## ##
### ### ## ##
### ### ## ##
### ### ## ##
### ### #########
### ## ######
#####
###
###
### ## ###
############## ##########
## ## ### ##
### ## ### ##
### ## ### ##
## ## ### ###
### ### ### ###
## ###### ##########
## ### ### ##
##
## ## ##
################
### ##
### ### ##
### ### ##
### ### ##
### ### ##
### ## ##
### ### ##
### ####
### #####
### #####
### ###
##### ##
liu5644
2003-08-01
打赏
举报
回复
有劳各位了,也许是我讲得不清楚,
其实没有只用个SetFocus那么样简单.
哈哈!!昨天自己动手搞定了,
在日期编辑框内,写失去焦点
当在下一个控件ID未知时,可用GetNextWindow()_>SetFocus()实现
关键中的关键是GetNextWindow()
不过问题又来了,当按向下键时焦点能移到下一个控件,
但我想按向上键焦点能移到前一个控件,
CEdit 类有GetNextWindow()可没有GetPrevWindow()
xtuzi
2003-07-26
打赏
举报
回复
仅仅想失去焦点可以用::SetFocus(NULL);
liu5644
2003-07-26
打赏
举报
回复
关键是要在子窗口(MyDate类中):不在MyDate类的父窗口中,这时下一个控件的IDK号是未知的
xtuzi
2003-07-26
打赏
举报
回复
对下一个编辑框SetFocus,这个就自动失去焦点了
C#
控件
中
失去
焦点
Focus事件与获得
焦点
Focus事件
C#
控件
失去
Focus
焦点
事件与获得
焦点
事件 文本框
失去
焦点
事件 LostFocus GotFocus事件 供大家学习,减为1分了。。。。
MFC特强大CListCtrlEx(支持插入
控件
、设置颜色、始终高亮、列排序等)
本资源中提供了CListCtrlEx的CPP与H文件与一个Demo示例,CListCtrlEx继承自CListCtrl,可以让您很方便的操作listCtrl
控件
。此类最初来源于网络,本人在其上进行加工整理,添加了一些新功能,优化了一些细节代码,同时使该类可用于VS的平台,同时支持Unicode。目前包括的功能有:可指定任意行、任意列、任意单元中设置其他
控件
,如Edit、Combo等;可指定任意单元格颜色(不需要再在CustomDraw里来实现);可让
控件
失去
焦点
后仍高亮显示;可以按任意列进行排列列表等。本人在网上找过很多此
控件
的资源,这个可以说是最好的一个,绝对值得收藏使用!!
MFC使
控件
失去
焦点
的方法
1.SetFocus另外一个
控件
GetDlgItem(另一个
控件
名)->SetFocus(); 2.给要
失去
焦点
的
控件
发WM_KILLFOCUS消息 GetDlgItem(要
失去
焦点
的
控件
名)->PostMessage(WM_KILLFOCUS, 0, 0); ::SendMessage(GetDlgItem(要
失去
焦点
的
控件
名)-> m_hWnd,WM_KILLFOCUS,-1,0); SendDlgItemMessage(要
失去
焦点
的
控件
...
使
控件
失去
焦点
三种方式任一种: GetDlgItem(要
失去
焦点
的
控件
名)->PostMessage(WM_KILLFOCUS, 0, 0); ::SendMessage(GetDlgItem(要
失去
焦点
的
控件
名)-> m_hWnd,WM_KILLFOCUS,-1,0); SendDlgItemMessage(要
失去
焦点
的
控件
名,WM_KILLFOCUS,0,0);
MFC对话框对
控件
失去
焦点
和获取
焦点
的统一处理,WM_KILLFOCUS消息失败
如上图,我实现了WM_KILLFOCU的映射,但是对话框除了第一次会进去下面的消息函数后,再也没有进来过来我在对话框上摆放的Edit
控件
失去
焦点
也不会进来 后面无意中看到一篇文章,正确的处理方式应该是这样重载虚函数,OnCommand 所有编辑
控件
的获取
焦点
和
失去
焦点
,上面都可以监控到了同理,监控按钮的获取
焦点
和
失去
焦点
就是BN_SETFOCUS和BN_KILLFOCUS......
资源
2,586
社区成员
18,441
社区内容
发帖
与我相关
我的任务
资源
VC/MFC 资源
复制链接
扫一扫
分享
社区描述
VC/MFC 资源
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章