今天在研究ATL的时候发现修改类名是一件相当简单的事情。

一,Win32应用程序类名修改

1.新建Win32应用程序(HelloWorld)

2.打开以程序命名(HelloWorld)的资源文件HelloWorld.rc(代码方式打开)

查找:STRINGTABLE

内容如下:

STRINGTABLE
BEGIN
   IDC_HELLOWORLD   "新类名"        //在这里修改成你要的类名即可
   IDS_APP_TITLE       "HelloWorld"
END

二,MFC应用程序类名修改

通过:

FROM:http://www.chinaitpower.com/A/2001-10-17/2016.html

OTHER:http://topic.csdn.net/t/20040227/13/2782754.html

知道了几个要点:

原理:在窗口显示之前用AfxRegisterClass重新注册类名

1、用记事本或其它文本编辑工具打以工程名命名的RC文件,找到这样的一段,加入自定义类名

段1:
IDD_TEST_DIALOG DIALOGEX 0, 0, 320, 200
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_APPWINDOW
CAPTION "test"
CLASS "我的类名" // 在这加入类名
FONT 9, "宋体"

2、注册窗口类。
在InitInstance()函数中的&dlg.doModel()之前加入以下代码:

段2:
WNDCLASS wndMyClass;
::GetClassInfo(AfxGetInstanceHandle(), "#32770", &wndMyClass);//取得原来对话框的窗口类属性
wndMyClass.lpszClassName = "我的类名";//将类名改成自定义的类名
AfxRegisterClass(&wndMyClass); //关键的一行,如果不注册,对话框就出不来了。

备注:

1建立对话框应用程序的时候 不应该包含 支持UNICODE库,否则会出现如下错误:

error C2664: “GetClassInfoW”: 不能将参数 2 从“const char [7]”转换为“LPCWSTR”
1>        与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换

error C2440: “=”: 无法从“const char [19]”转换为“LPCWSTR”
1>        与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换

。用_T()来转换

使用了UNICODE必须下面的代码注册

段2(UNICODE版本)
   //如何改变对话框的窗口类名START
WNDCLASS wc;
::GetClassInfo(AfxGetInstanceHandle(),_T("#32770"),&wc);

wc.lpszClassName=_T("我的类名");
AfxRegisterClass(&wc);
//如何改变对话框的窗口类名END

吐血中~~~~,

经测试发现:

只需要 在代码(段2/段2(UNICODE版本))中修改就OK。不用在资源文件添加 Class 选项,
实现动态类名方便了!!!

感谢xyieou提出的建议,再次测试需要在资源文件添加Class选项

且新类名不能与应用程序名称相同(实例化theApp的类,本例中是CTestApp theApp;)即不可以是CTestApp否则会出现GetLastError returns 0x00000057的错误

转自: http://apps.hi.baidu.com/share/detail/17942019

如何给对话框设置窗口类名相关推荐

  1. Windows 7个性化配置,关闭Win7动画效果,设置窗口背景为“ 豆绿色”,移动“我的文档”...

    减少眼睛疲劳配色(豆绿色): RGB:199, 237, 204,颜色名称:#C7EDCC 1.任务栏设置 2.关闭Win7动画效果 控制面板 -> 轻松访问 -> 优化视频显示 3.视觉 ...

  2. Qt的对话框与窗口--Splash与登录窗口

    Splash与登录窗口 1 实例功能概述 一般的大型应用程序在启动时会显示一个启动画面,即Splash窗口.Splash窗口是一个无边对话框,一般显示一个图片,展示软件的信息.Splash窗口显示时, ...

  3. 如何完美的将对话框设置成无边框无标题栏样式?

    很多同学在绘制UI时喜欢将窗口或者对话框设置成无边框无标题栏样式,然后在客户区里就可以"胡作非为"了,想干什么都行 然而新手们包括笔者以前都遇到的一个问题是:对于对话框来说直接这样 ...

  4. JavaScript知识笔记(一)——入门、语句、注释、变量、函数、输出内容、对话框、窗口

    JavaScript可以提供漂亮的网页.令用户满意的上网体验. 1.增强页面动态效果(如:下拉菜单.图片轮播.信息滚动等) 2.实现页面与用户之间的实时.动态交互(如:用户注册.登陆验证等) 引用Ja ...

  5. 如何自定义MFC的窗口类名

    作者:沧桑不尽,请尊重原创,转载注明. MFC中封装很多常用的控件,把类名也给封装了,没有提供明显的接口出来,用win api写窗口程序,第一步就是注册窗口类 此时类名和标题名是一起注册的,所以能把标 ...

  6. Qt的对话框与窗口--标准的对话框

    Qt的对话框与窗口--标准的对话框 标准的对话框 QFileDialog对话框 1.选择打开一个文件 2.选择打开多个文件 3.选择已有目录 4.选择保存文件名 QColorDialog对话框 QFo ...

  7. Qt的对话框与窗口--Qt中主要的窗体类及其用途

    Qt中主要的窗体类及其用途     常用的窗体基类是QWidget.QDialog和QMainWindow,在创建GUI应用程序时选择窗体基类就是从这3个类中选择.QWidget直接继承于QObjec ...

  8. 商务通怎么做html留言板,网站商务通对话框设置技巧

    网站商务通对话框设置技巧 在前面的文章中我们有提到过网站商务通对话框侧边广告设置及网站商务通对话框开场白设置,今天我们在对对话框整体设置做一个总结及说说设置技巧. 1.对话框侧边广告设置: 对话框侧边 ...

  9. 计算机窗口和外观设置在哪里,Windows10系统怎么开启控制面板的颜色和外观设置窗口...

    最近,有一些用户反映自己在升级到win10正式版后,突然发现自己在新系统下找不到传统控制面板的颜色和外观设置窗口了.这该怎么办呢?接下来,小编就向大家分享Windows10系统开启控制面板的颜色和外观 ...

最新文章

  1. 五分钟理解yield在python中的简单用法,让你不再迷惑
  2. 能直接复制图片中文字,功能远超普通OCR软件,MIT学生开发了一款强大Chrome插件...
  3. 从官网下载的python包如何使用-如何使用Python从需要登录信息的网站下载文件?...
  4. cad二次开发--添加对象到模型空间中
  5. 牛客网--蛇形矩阵(Java)
  6. Django练习——TodoList
  7. Windows下MySQL的安装步骤(有图详解)
  8. ffmpeg之图片串流h264视频
  9. access查询出生年月大于,access选择题题库
  10. 计算机网络的拓扑结构
  11. 计算机表格怎么添加单下划线,如何在excel表格中添加并设置下划线
  12. UVa 10015 - Joseph's Cousin
  13. Python.习题八 文件与与异常(上)
  14. 树的最大连通分支问题
  15. GDT陶瓷气体放电管的材质介绍
  16. [转帖]探秘华为(二):华为和H3C(华三)的分道扬镳
  17. 物联网开发笔记(48)- 使用Micropython开发ESP32开发板之控制OLED ssd1306屏幕
  18. python import logging
  19. 华中科技大学计算机与网络,华中科技大学计算机通信与网络实验报告-基于NS2的协议分析实验...
  20. cocos2d-x lua 屏幕适配

热门文章

  1. C语言例程:乘法口诀表
  2. python网络爬虫-爬取虎扑步行街数据
  3. 2022年安徽最新建筑八大员(标准员)考试考点及答案
  4. 天龙八部服务器列表文件,天龙八部服务端目录说明
  5. linux实验报告5,实验报告5linux进程管理.docx
  6. 基于STC15W408AS单片机的陀螺仪显示器设计
  7. 2125661-64-3,p-NH2-Bn-PCTA因其固有的受限空腔和强键合能力,被广泛用作仿酶反应器
  8. Mars的心路历程-失望
  9. 《DOS快餐店》笔记
  10. 1 Ubuntu版本和ROS1系统