WEB开发网
开发学院软件开发VC VC++深入详解:MFC框架窗口(2) 阅读

VC++深入详解:MFC框架窗口(2)

 2008-11-24 19:38:09 来源:WEB开发网   
核心提示:2.创建窗口 按照Win32程序编写步骤,设计窗口类并注册窗口类之后,VC++深入详解:MFC框架窗口(2),应该是创建窗口了,在MFC程序中,具体代码如下所示,BOOL CreateEx(DWORD dwExStyle, LPCTSTR lpszClassName,LPCTSTR lpszWindowName, DW

2.创建窗口

按照Win32程序编写步骤,设计窗口类并注册窗口类之后,应该是创建窗口了。在MFC程序中,窗口的创建功能是由CWnd类的CreateEx函数实现的,该函数的声明位于AFXWin.h文件中,具体代码如下所示。

  BOOL CreateEx(DWORD dwExStyle, LPCTSTR lpszClassName,
    LPCTSTR lpszWindowName, DWORD dwStyle,
    int x, int y, int nWidth, int nHeight,
    HWND hWndParent, HMENU nIDorHMenu, LPVOID lpParam = NULL);

其实现代码位于WINCORE.CPP文件中,部分代码如例3-14所示。

例3-14

  BOOL CWnd::CreateEx(DWORD dwExStyle, LPCTSTR lpszClassName,
    LPCTSTR lpszWindowName, DWORD dwStyle,
    int x, int y, int nWidth, int nHeight,
    HWND hWndParent, HMENU nIDorHMenu, LPVOID lpParam)
  {
    // allow modification of several common create parameters
    CREATESTRUCT cs;
    cs.dwExStyle = dwExStyle;
    cs.lpszClass = lpszClassName;
    cs.lpszName = lpszWindowName;
    cs.style = dwStyle;
  ……
    if (!PreCreateWindow(cs))
    {
      PostNcDestroy();
      return FALSE;
    }
   
    AfxHookWindowCreate(this);
    HWND hWnd = ::CreateWindowEx(cs.dwExStyle, cs.lpszClass,
      cs.lpszName, cs.style, cs.x, cs.y, cs.cx, cs.cy,
      cs.hwndParent, cs.hMenu, cs.hInstance, cs.lpCreateParams);
  ……
  }

1 2 3  下一页

Tags:VC 深入 详解

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接