给文档注册类名

来源:互联网 发布:cs在编程语言中的意思 编辑:程序博客网 时间:2024/04/28 16:39

前面已经就对话框更改类名进行讲解了,现在我们先来修改基于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);
}

 同理多文档的修改方式和单文档的修改方式是一样的。