永发信息网

如何在对话框中设置默认焦点

答案:2  悬赏:20  手机版
解决时间 2021-01-30 12:21
如何在对话框中设置默认焦点
最佳答案
不记得哪天 有个同事问我设置对话框的默认焦点,我试了好几次都不成功 ,后来还是老老实实的用vc的 tabstop
其实 ,当时我想用setfocus来设置焦点的方法是对的,只是使用的地方不对 。
对话框程序不接收WM_CREAT消息,而是在特殊的WM_INITDIALOG消息处理期间,对话框程序执行初始化操作。
WM_INITDIALOG
消息是对话框接收到的第一个消息,这个消息只发送给对话框程序。如果对话框程序传回TRUE,那么Windows将输入焦点设定给对话框中第一个具有
WS_TABSTOP样式的子窗口控件。另外,对话框程序也可以在处理WM_INITDIALOG时使用SetFocus来将输入焦点设定为对话框中的某个子窗口控件,然后传回FALSE。
此外,对话框程序只处理WM_COMMAND消息。这是当按键被鼠标点中,或者在按钮具有输入焦点的情况下按下空格键时,按键控件发送给其父窗口的消息。这
个控件的ID(我们在对话框模板中将其设定为IDOK)在wParam的低字组中。对于这个消息,对话框过程调用EndDialog,它告诉
Windows清除对话框。对于所有其它消息,对话框程序传回FALSE,并告诉Windows内部的对话框窗口消息处理程序:我们的对话框程序不处理这些消息。
模态对话框的消息不通过您程序的消息队列,所以不必担心对话框中键盘快捷键的影响。
这是网上找到的一个说明,明显在WM_CREATE中做这个是不明智的,改在
WM_INITDIALOG中处理就可以了
全部回答
我认为常用按钮没有获得焦点。这跟他的自画button的编写有关。你完全也可以搞成这样。把button的状态设为选择和不选择,跟焦点在不在button上没有关系。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
茗雅缘大酒店地址在什么地方,想过去办事
安扎的意思是什么啊?知道的请说下!
小规模纳税人出租有形动产如何征税?能简易征
求介绍一款5.0屏幕的手机,女用的,送妈妈!
邯郸市第一医院体检中心地址有知道的么?有点
枫华丽致假日酒店地址有知道的么?有点事想过
企业债权人必然高度关心其资本的保值和增值状
华琳公寓地址在什么地方,我要处理点事
三星S7曲面怎么分辨港机或者欧版美版
奋辞的意思是什么啊?知道的请说下!
库里想知道NBA啥时候才能出4分线
岭北医院体检中心地址在什么地方,我要处理点
贝瑞怀特如何发出低深的声音?
凌云旅馆(凌云北路)地址有知道的么?有点事想
瑞康体检(仁泰国药阳光)怎么去啊,我要去那办
推荐资讯
大良嘉信广场那边停车方便吗?收费贵吗?
梦幻西游2 109级 押镖好还是打图好 哪个赚点
推荐个可以把图片做成视频的软件。(PC)
如果性格太稳重,是好还是坏呢?
14款新威驰怎么取消Eco这个东西
为什么长大了过年就没有小时候的那种期待、盼
跃进分场地址有知道的么?有点事想过去
“但是许多事一开头就注定要失败,中国社会好
1995年,世界贸易组织取代关贸总协定,标志规
刚买的笔记本电脑,cpu风扇噪音很大,这是质
在上海做全瓷牙费用是多少
给与的意思是什么啊?知道的请说下!
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?