以下代码,
1、为什么最后窗口类注册的不是“ABCDEFGHIJK”,怎么才能注册成“ABCDEFGHIJK”?
2、直接改cs.lpszClass = "ABCDEFGHIJK",为什么创建不了主窗口?BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
BOOL b = CMDIFrameWnd::PreCreateWindow(cs);

WNDCLASS    wc;
    
    HINSTANCE   hi=AfxGetInstanceHandle();    ::GetClassInfo(hi,cs.lpszClass,&wc); cs.style = WS_OVERLAPPED | WS_CAPTION | FWS_ADDTOTITLE | WS_THICKFRAME | 
WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_MAXIMIZE; m_strTitle = theApp.m_pszAppName;
    
char  strClassName[250];
memset(strClassName,'0',sizeof(strClassName));
sprintf(strClassName,"%s","ABCDEFGHIJK");
    wc.lpszClassName=strClassName ;    if(!AfxRegisterClass(&wc))
    {
        AfxThrowResourceException();
    }

    return b;}

解决方案 »

  1.   

    wndclass.style         = CS_HREDRAW | CS_VREDRAW ;
    wndclass.lpfnWndProc   = SomeWndProc ;  //对应的消息处理函数
    wndclass.cbClsExtra    = 0 ;
    wndclass.cbWndExtra    = 0 ;
    wndclass.hInstance     = hInstance ;
    wndclass.hIcon         = NULL ;
    wndclass.hCursor       = LoadCursor (NULL, IDC_ARROW) ;
    wndclass.hbrBackground = (HBRUSH) (COLOR_BTNFACE + 1) ;
    wndclass.lpszMenuName  = NULL ;
    wndclass.lpszClassName = TEXT ("ControlClass") ;RegisterClass (&wndclass) ;
      

  2.   

    CMDIFrameWnd::PreCreateWindow(cs);应该已经完成注册
      

  3.   

    http://topic.csdn.net/t/20050405/17/3911301.html
      

  4.   

    我就是想在PreCreateWindow中改变窗口类名,好用FindWindow找到窗口,进行进程间的通信。上面所写的代码就是先调用GetClassInfo,再进行注册,还是不行。
    注意:工程是MDI工程。请各位赐教
      

  5.   

    BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
    {
    WNDCLASS wndcls;
    wndcls.cbClsExtra =0;
    wndcls.cbWndExtra =0;
    wndcls.hbrBackground =(HBRUSH)(COLOR_BTNTEXT);;
    wndcls.hCursor=::LoadCursor(NULL,IDC_CROSS);
    wndcls.hIcon=::LoadIcon(NULL,IDI_QUESTION);
    wndcls.hInstance=::AfxGetInstanceHandle ();           
    wndcls.lpfnWndProc=::DefWindowProc ;       
     
    wndcls.lpszClassName=TEXT("seu07201213");
    wndcls.lpszMenuName=NULL;

    wndcls.style=CS_HREDRAW | CS_VREDRAW;
     
    RegisterClass(&wndcls); cs.style = cs.style | WS_MINIMIZE ;
    cs.lpszClass=TEXT("seu07201213");
    if( !CFrameWnd::PreCreateWindow(cs) )
    return FALSE;
    // TODO: Modify the Window class or styles here by modifying
    //  the CREATESTRUCT cs
    return TRUE;
    }
    //以上 测试 通过 
      

  6.   

    MARK学习不过改变了窗口类名,会不会影响系统对这个对话框的处理