关于控件注册类名的问题

逸学堂 逸学堂 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
关于控件注册类名,一般操作时我们不要设置,按钮控件类的注册控件类名为"Button"
列表控件的注册类名为"ListBox",等等还有其他的控件,通过spy++可以看到

我现在的问题是,我想更改这个控件的注册名称,请问诸位大虾如何实现?

备注:对话框的注册类名如果我们不指定
默认为"#32770"我现在可以实现对对话框的注册类名修改,方法如下
在dialog的构造函数中,重新注册类名
WNDCLASSEX ws={sizeof(WNDCLASSEX)};
GetClassInfoEx(NULL,_T("#32770"),&ws);
ws.lpszClassName = _T("ugg");
int i = RegisterClassEx(&ws);
并且在资源文件内,对话框的ID内容中加上CLASS "ugg"
IDD_TESTDIALOG_DIALOG DIALOGEX 0, 0, 320, 200
CLASS "ugg" // 这里

但是使用控件时,不能使用这种方式,因为控件项是不允许添加CLASS "ugg"之类的形式
控件类和CDialog类都是从CWnd类中继承来的,而CWnd类负责注册类,应该是可以修改的.
这是我目前的一点认识.
...全文

相关推荐

评论 8
收藏 已收藏
分享
返回顶部
逸学堂
界面 15,976 成员 115,866 内容