前面已经就对话框更改类名进行讲解了,现在我们先来修改基于MFC的单文档的类名。
其实很简单,只需要将BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)这个函数里面的实现内容更改为下面的代码就OK了。
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
static LPCSTR className = NULL;
if (className==NULL)
{
WNDCLASS cls;
::GetClassInfo(AfxGetInstanceHandle(), cs.lpszClass, &cls);
cls.lpszClassName = _T("类名");
cls.hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
VERIFY(AfxRegisterClass(&cls));
className=cls.lpszClassName;
}
cs.lpszClass = className;
return CFrameWnd::PreCreateWindow(cs);
}
同理多文档的修改方式和单文档的修改方式是一样的。