定制Wnd(对话框)窗口类名
一 主窗口为CWnd的派生类
BOOL CMainWnd::PreCreateWindow(CREATESTRUCT& cs)
{
WNDCLASS wndcls;
ZeroMemory( &wndcls, sizeof(WNDCLASS) );
wndcls.style = CS_DBLCLKS;
wndcls.lpfnWndProc = AfxWndProc;
wndcls.hInstance = AfxGetInstanceHandle();
wndcls.hIcon = theApp.LoadIcon( IDR_MAINFRAME );
wndcls.hCursor = theApp.LoadStandardCursor( IDC_ARROW );
wndcls.hbrBackground = NULL;
wndcls.lpszMenuName = NULL;
wndcls.lpszClassName = _T("MyMainWnd");
AfxRegisterClass( &wndcls );
cs.lpszClass = wndcls.lpszClassName;
return CMDIFrameWnd::PreCreateWindow( cs );
}
二 主窗口为CDialog的派生类
第一步 在BOOL CMyApp::InitInstance()中 声明Dialog对象之前添加
WNDCLASS wndcls;
::GetClassInfo( AfxGetInstanceHandle(), "#32770", &wndcls );
wndcls.lpszClassName = _T("MyDialog");
AfxRegisterClass( &wndcls );
第二步 有两种方法
a 直接修改××.rc文件
IDD_MY_DIALOG DIALOGEX 0, 0, 319, 152
STYLE DS_SETFONT | DS_MODALFRAME | ……
EXSTYLE WS_EX_APPWINDOW
CAPTION "Lottery2"
CLASS "MyDialog"//添加此行即可
FONT 9, "MS Shell Dlg", 0, 0, 0x1
b 修改属性
在IDE中修改××.rc属性 vc6 取消Enable MFC features
.net Mfc mode = FALSE
在Dialog属性中的class name 项中 输入 MyDialog即可
参考:VC++中定制个性化的对话框窗口类 http://blog.csdn.net/chinawash/archive/2006/06/25/832338.aspx