WEB开发网
开发学院软件开发VC MFC程序员的WTL指南(8)分隔窗口 阅读

MFC程序员的WTL指南(8)分隔窗口

 2006-07-22 22:03:11 来源:WEB开发网   
核心提示: 在list窗口和主框架窗口之间的这些消息传递并不影响分隔窗口的工作,这使得在程序中添加和移除分隔窗口非常容易,MFC程序员的WTL指南(8)分隔窗口(9),因为子窗口不需要做任何改变就可以继续工作,窗格容器WTL还有一个被称为窗格容器的构件,第一个函数需要传递一个字符串作为容器顶部区域显示

在list窗口和主框架窗口之间的这些消息传递并不影响分隔窗口的工作,这使得在程序中添加和移除分隔窗口非常容易,因为子窗口不需要做任何改变就可以继续工作。

窗格容器

WTL还有一个被称为窗格容器的构件,它就像Explorer中左边的窗格那样,顶部有一个可以显示文字的区域,还有一个可选择是否显示的Close按钮:

就像分隔窗口管理两个窗格窗口一样,这个窗格容器也管理一个子窗口,当容器窗口的大小改变时,子窗口也相应的改变大小以便能够填充容器窗口的内部空间。

相关的类

这个窗格容器的实现需要两个类:CPaneContainerImpl和CPaneContainer,它们都在atlctrlx.h中声明。CPaneContainerImpl是一个CWindowImpl派生类,它含有窗格容器的完整实现,CPaneContainer只是提供了一个类名,除非重载CPaneContainerImpl的方法或改变容器的外观,一般使用CPaneContainer就够了。

基本方法

HWND Create(
  HWND hWndParent, LPCTSTR lpstrTitle = NULL,
  DWORD dwStyle = WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN,
  DWORD dwExStyle = 0, UINT nID = 0, LPVOID lpCreateParam = NULL)
HWND Create(
  HWND hWndParent, UINT uTitleID,
  DWORD dwStyle = WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN,
  DWORD dwExStyle = 0, UINT nID = 0, LPVOID lpCreateParam = NULL)

创建一个CPaneContainer窗口和创建其它子窗口一样。有两个Create()函数,它们的区别仅仅是第二个参数不同。第一个函数需要传递一个字符串作为容器顶部区域显示的文字,第二个参数需要需要传一个字符串的资源ID,其他参数只要使用默认值就行了。

上一页  4 5 6 7 8 9 10  下一页

Tags:MFC 程序员 WTL

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