定制Wnd(对话框)窗口类名

定制Wnd(对话框)窗口类名

定制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

你可能感兴趣的:(定制Wnd(对话框)窗口类名)