定制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"http://添加此行即可
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