首页
社区
课程
招聘
对话框的类名问题
2006-8-11 11:34 4894

对话框的类名问题

2006-8-11 11:34
4894
对话框的 ClassName 是怎么定的……
似乎现在用windows XP,类名全是 "#32770"

然而,记得以前在win9x年代的时候写程序,似乎95、98下对话框的类名都不同。

类名和操作系统的版本有什么关系?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
点赞0
打赏
分享
最新回复 (7)
雪    币: 2367
活跃值: (756)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
小虾 10 2006-8-11 11:53
2
0
#32770的类名是*.res生成的对话框模块默认的类名(当然也可以在对话框中指定类名的),可能现在编程序比较多人使用资源文件生成的窗口了,而且又懒的指定类名了,直接使用资源对话框的类名了。
雪    币: 249
活跃值: (10)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
wiaa 6 2006-8-11 12:07
3
0
.res中可以指定类名?……哦

那么这个 "#32770" 不是由操作系统决定,而是由编译器和.res决定的?

为何同样的VC代码,当时在win98下就会由不同的类名呢? 似乎也是"#32???" 记不起来了
雪    币: 2367
活跃值: (756)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
小虾 10 2006-8-11 12:17
4
0
可以指定,不过我刚才试了一下,指定了类名,对话框就无法运行啦。
这个"#32770"是不是由操作系统决定就不太清楚了。因为我只管用,从来没关心过这个问题。
雪    币: 249
活跃值: (10)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
wiaa 6 2006-8-11 20:18
5
0
有时候,比如用FindWindow的时候就不敢随便写 "#32770" 怕到Win9x上没法用。于是对于一些没有标题的对话框(比如边锋游戏以前的末尾广告)只能FindWindow(NULL,"");之后去枚举子窗口……繁那。

今天突然想到这个问题,就来问问。
感谢楼上的回答
雪    币: 218
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ahaisoft 2006-8-15 11:35
6
0
#32770就是对话框的类名吧。难道9X中就不是了?
雪    币: 249
活跃值: (10)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
wiaa 6 2006-8-15 12:01
7
0
好像9x中不是的
由于硬盘小,安装了XP后不可能再去install9x。有点印象似乎不是的。
雪    币: 179
活跃值: (131)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
WAKU 7 2006-8-15 16:57
8
0
自定义的对话框类,注册窗口类时需要加上
wndclass.cbWndExtra = DLGWINDOWEXTRA ;  
要不就显示不出来
游客
登录 | 注册 方可回帖
返回