怎样定义自己写的类的类名? 我自己写了一个用于绘图的类,从CWnd继承的,把它作为别的对话框的子窗口,用Create(...)创建,这样用Spy++检查类名为AfxWnd42,我想改变一下类名,该怎样实现? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在precreatewindow方法中注册一个新类. 在precreatewindow方法中注册一个新类.试一试吧! 如果不知道怎么用,去查MSDN,嘻嘻…… 在PreCreateWindow里注册一个新类PS:请注意该函数会被调用两次 修改CMainFrame:BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs){ if( !CMDIFrameWnd::PreCreateWindow(cs) ) return FALSE; // TODO: Modify the Window class or styles here by modifying // the CREATESTRUCT cs static BOOL bCreate = FALSE; if(bCreate) { WNDCLASS wndcls; ::GetClassInfo(AfxGetInstanceHandle(), "AfxMDIFrame42d", &wndcls); wndcls.lpszClassName = "MD.kvls.20040714"; AfxRegisterClass(&wndcls); cs.lpszClass = "MD.kvls.20040714"; } bCreate = !bCreate; return TRUE;} 按照kvls(冰茶)的方法问题得到解决。不过我是在对话框中加载这个类,系统只调用一次PreCreateWindow。PreCreateWindow中代码如下:WNDCLASS wndcls;GetClassInfo(AfxGetInstanceHandle(), "Static", &wndcls);wndcls.lpszClassName = "JLA.IMAGE";AfxRegisterClass(&wndcls);cs.lpszClass = "JLA.IMAGE";return CWnd::PreCreateWindow(cs); DLL显示调用导出类,如何做? 循序渐进实现仿QQ界面(六):异型菜单与内建滚动条自绘 WIN32 如何在List Ctrl实时判断是否获得焦点 关于VC能否实现LabVIEW部分功能 数据导入到本地Excel??? [讨论]上TB级的三元组数据存储与查找 弱弱的问一个关于.rc的问题 VC7.0 中不能手动编辑编译选项 和 链接选项吗? 有关com的简单问题 有一个问题困扰了学弟两个小时了~ 高手救命。进度条描画 请问如何将vc工程改名,如原来的工程名为abc,如何改名为cba
试一试吧!
PS:请注意该函数会被调用两次
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CMDIFrameWnd::PreCreateWindow(cs) )
return FALSE;
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs static BOOL bCreate = FALSE;
if(bCreate)
{
WNDCLASS wndcls;
::GetClassInfo(AfxGetInstanceHandle(), "AfxMDIFrame42d", &wndcls);
wndcls.lpszClassName = "MD.kvls.20040714";
AfxRegisterClass(&wndcls); cs.lpszClass = "MD.kvls.20040714";
} bCreate = !bCreate; return TRUE;
}
不过我是在对话框中加载这个类,系统只调用一次PreCreateWindow。
PreCreateWindow中代码如下:WNDCLASS wndcls;
GetClassInfo(AfxGetInstanceHandle(), "Static", &wndcls);
wndcls.lpszClassName = "JLA.IMAGE";
AfxRegisterClass(&wndcls);cs.lpszClass = "JLA.IMAGE";return CWnd::PreCreateWindow(cs);