以下是 CWnd::RepositionBars 的基本语法:
void RepositionBars(
UINT nIDFirst,
UINT nIDLast,
UINT nIDLeftOver,
UINT nFlags = reposDefault,
LPRECT lpRectParam = NULL,
LPCRECT lpRectClient = NULL,
BOOL bStretch = TRUE
);
参数的含义如下:
- nIDFirst 和 nIDLast:指定控制条的 ID 范围,这些控制条将被重新定位和调整大小。
- nIDLeftOver:指定要留给剩余空间的控制条的 ID。这个控制条将填充任何未被其他控制条占用的空间。
- nFlags:控制调整操作的标志。可以是以下值的组合:
- reposDefault:使用默认标志。
- reposQuery:查询调整前后的信息,但不进行实际的调整操作。
- reposExtra:调整窗口大小时,额外处理控制条。
- lpRectParam:传递调整前的窗口矩形。
- lpRectClient:传递客户区矩形。
- bStretch:如果为 TRUE,则调整控制条以填充整个空间;如果为 FALSE,则不进行拉伸,保持原始大小。
RepositionBars 方法通常在 OnSize 消息处理函数中被调用,以确保在窗口大小变化时,控制条能够适应新的窗口大小。
示例代码:
void CMyWnd::OnSize(UINT nType, int cx, int cy)
{
CWnd::OnSize(nType, cx, cy);
// 重新定位和调整大小控制条
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST,
0, reposDefault, NULL, NULL, TRUE);
}
这样可以确保在窗口大小变化时,与窗口关联的控制条会适应新的窗口大小。
转载请注明出处:http://www.pingtaimeng.com/article/detail/23536/MFC/CWnd