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

对话框的类名问题

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

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

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

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

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

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

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

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