在win32中,mfc是否永远也不调用该函数,那registerclass在哪儿被调用,我要自己注册窗口类怎么办

解决方案 »

  1.   

    在传统的Windows C程序中,送给一个窗口的所有消息是在它的窗口函数中处理的。把一个窗口同它的窗口函数联系起来的过程称为注册窗口类。注册窗口包括对窗口指定一个窗口函数(给出窗口函数的指针)以及设定窗口的光标、背景刷子等内容。一个注册窗口类可以被多个窗口共享。注册窗口通过调用API函数RegisterClass来完成。
      在MFC下,框架提供了缺省的自动窗口注册过程。框架仍然使用传统的注册类,而且提供了几个标准的注册类,它们在标准的应用程序初始化函数中注册。调用AfxRegisterWndClass全局函数就可以注册附加的窗口类,然后把已经注册的类传给CWnd的Create成员函数。用户可以定制自己的注册过程,以提供一些附加的特性。比如设置窗口的图标、背景、光标等。下面是注册窗口的例子。BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs){// TODO: Modify the Window class or styles here by modifying// the CREATESTRUCT csUINT ClassStyle=CS_VREDRAW|CS_HREDRAW;cs.style=cs.style&(~FWS_ADDTOTITLE);cs.lpszClass = AfxRegisterWndClass(ClassStyle,AfxGetApp()->LoadStandardCursor(IDC_ARROW), (HBRUSH)(COLOR_WINDOW+1),//for brushAfxGetApp()->LoadIcon(IDR_MAINFRAME));return TRUE;}