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

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

 2006-07-22 22:03:11 来源:WEB开发网   
核心提示: bool SetActivePane(int nPane)int GetActivePane()SetActivePane()函数将分隔窗口中的某个子窗口设置为当前焦点窗口,nPane是SPLIT_PANE_*类型的值,MFC程序员的WTL指南(8)分隔窗口(4),表示需要激活哪个窗格,这
bool SetActivePane(int nPane)
int GetActivePane()

SetActivePane()函数将分隔窗口中的某个子窗口设置为当前焦点窗口,nPane是SPLIT_PANE_*类型的值,表示需要激活哪个窗格,这个函数还可以设置默认的活动窗格(后面介绍)。GetActivePane()函数查看所有拥有焦点的窗口,如果拥有焦点的窗口是窗格或窗格的子窗口就返回一个SPLIT_PANE_*类型的值,表示是哪个窗格。如果当前拥有焦点的窗口不是窗格的子窗口,那么GetActivePane()返回SPLIT_PANE_NONE。

bool ActivateNextPane(bool bNext = true)

如果分隔窗口是单窗格模式,焦点被设到可见的窗格上,否则的话,ActivateNextPane()函数将调用GetActivePane()查看拥有焦点的窗口。如果一个窗格(或窗格内的子窗口)拥有检点,分隔窗口就将焦点设给另一个窗格,否则ActivateNextPane()将判断bNext的值,如果是true就激活left/top窗格,如果是false则激活right/bottom窗格。

bool SetDefaultActivePane(int nPane)
bool SetDefaultActivePane(HWND hWnd)
int GetDefaultActivePane()

调用SetDefaultActivePane()函数可以设置默认的活动窗格,它的参数可以是SPLIT_PANE_*类型的值,也可以是窗口的句柄。如果分隔窗口自身得到的焦点,可以通过调用SetFocus()将焦点转移给默认窗格。GetDefaultActivePane()函数返回SPLIT_PANE_*类型的值表示哪个窗格是当前默认的活动窗格。

void GetSystemSettings(bool bUpdate)

GetSystemSettings()读取系统设置并相应的设置数据成员。分隔窗口在OnCreate()函数中自动调用这个函数,你不需要自己调用这个函数。当然,你的主框架窗口应该响应WM_SETTINGCHANGE并将它传递给分隔窗口, CSplitterWindow在WM_SETTINGCHANGE消息的处理函数中调用GetSystemSettings()。传递true给bUpdate参数,分隔窗口会根据新的设置重画自己。

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:MFC 程序员 WTL

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