WEB开发网
开发学院软件开发VC 窗口类、窗口类对象与窗口三者之间关系 阅读

窗口类、窗口类对象与窗口三者之间关系

 2008-11-24 19:38:12 来源:WEB开发网   
核心提示: 现在我们就实现了一个窗口类:CWnd,但我们知道如果要以类的方式来完成窗口的创建、显示和更新操作,窗口类、窗口类对象与窗口三者之间关系(4),那么首先还需要编写一个WinMain函数,读者并不需要记忆这个函数的写法,WNDCLASS wndcls;wndcls.cbClsExtra=0;w

现在我们就实现了一个窗口类:CWnd。但我们知道如果要以类的方式来完成窗口的创建、显示和更新操作,那么首先还需要编写一个WinMain函数。读者并不需要记忆这个函数的写法,只要机器上有MSDN就可以了,在MSDN中找到该函数的帮助文档,直接复制其定义即可。这里,我们只是想讲解在这个函数内部所做的工作,并不是真正的实现,因此只是写出其主要的代码,如例3-20所示。

例3-20

  int WINAPI WinMain(
   HINSTANCE hInstance,   // handle to current instance
   HINSTANCE hPrevInstance, // handle to previous instance
   LPSTR lpCmdLine,     // command line
   int nCmdShow       // show state
  )
  {
    //首先是设计窗口类,即定义一个WNDCLASS,并为相应字段赋值。
    WNDCLASS wndcls;
    wndcls.cbClsExtra=0;
    wndcls.cbWndExtra=0;
    ......
  //注册窗口类
  RegisterClass(&wndcls);
  //创建窗口
  CWnd wnd;
  wnd.CreateEx(...);
  //显示窗口
  wnd.ShowWindow(SW_SHOWNORMAL);
  //更新窗口
  wnd.UpdateWindow();
  //接下来就是消息循环,此处省略
  ......
  return 0;
  }

请读者回想一下第1章中我们利用SDK编程时为创建窗口、显示窗口和更新窗口所编写的代码(如例3-21所示),并比较例3-20和例3-21这两段代码的区别。

例3-21

    HWND hwnd;
    hwnd=CreateWindowEx();
    ::ShowWindow(hwnd,SW_SHOWNORMAL);
    ::UpdateWindow(hwnd);

上一页  1 2 3 4 5  下一页

Tags:窗口 窗口 对象

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