MFC程序员的WTL指南(8)分隔窗口
2006-07-22 22:03:11 来源:WEB开发网核心提示: DWORD SetSplitterExtendedStyle(DWORD dwExtendedStyle, DWORD dwMask = 0)DWORD GetSplitterExtendedStyle()分隔窗口有自己的样式用于控制当整个分隔窗口改变大小时如何移动分隔条,有以下几种样式:
DWORD SetSplitterExtendedStyle(DWORD dwExtendedStyle, DWORD dwMask = 0)
DWORD GetSplitterExtendedStyle()
分隔窗口有自己的样式用于控制当整个分隔窗口改变大小时如何移动分隔条。有以下几种样式:
- SPLIT_PROPORTIONAL: 两个窗格一起改变大小
- SPLIT_RIGHTALIGNED: 右边的窗格保持大小不变,只改变左边的窗格大小
- SPLIT_BOTTOMALIGNED: 下部的窗格保持大小不变,只改变上边的窗格大小
如果既没有指定SPLIT_PROPORTIONAL,也没有指定SPLIT_RIGHTALIGNED/SPLIT_BOTTOMALIGNED,则分隔窗口会变成左对齐或上对齐。如果将SPLIT_PROPORTIONAL和SPLIT_RIGHTALIGNED/SPLIT_BOTTOMALIGNED一起使用,则优先选用SPLIT_PROPORTIONAL样式。
还有一个附加的样式用来控制分隔条是否可以被用户移动:
- SPLIT_NONINTERACTIVE:分隔条不能被移动并且不相应鼠标
扩展样式的默认值是 SPLIT_PROPORTIONAL。
bool SetSplitterPane(int nPane, HWND hWnd, bool bUpdate = true)
void SetSplitterPanes(HWND hWndLeftTop, HWND hWndRightBottom, bool bUpdate = true)
HWND GetSplitterPane(int nPane)
可以调用SetSplitterPane()为分隔窗口的窗格指派子窗口,nPane是一个SPLIT_PANE_*类型的值,表示设置拿一个窗格。hWnd是子窗口的窗口句柄。你可以使用SetSplitterPane()将一个子窗口同时指定给两个窗格,对于bUpdate参数通常使用默认值,也就是告诉分隔窗口立即调整子窗口的大小以适应窗格的大小。可以调用GetSplitterPane()得到某个窗格的子窗口句柄,如果窗格没有指派子窗口则GetSplitterPane()返回NULL。
更多精彩
赞助商链接