您的位置:首页 > 服装鞋帽 > 女装 > VC编程中状态栏的使用(3)

VC编程中状态栏的使用(3)

luyued 发布于 2011-01-14 00:07   浏览 N 次  

1.1.移动状态栏的方法

前面提到状态栏一般是在程序界面的底部,但在MFC对话框程序中,它并不是一被创建就天然位于底部,需要我们来移动它,移动状态栏的方法用RepositionBars,实际上该方法是用来重新定位并改变控制条大小的,但状态栏派生于控制条类,故可放心大胆使用。

1.1.1. RepositionBars(移动状态栏)

功能

设置指定窗格上显示的文字。

函数说明

void RepositionBars (UINT nIDFirst, UINT nIDLast, UINT nIDLeftOver, UINT nFlag = reposDefault, LPRECT lpRectParam = NULL, LPCRECT lpRectClient = NULL, BOOL bStretch = TRUE)

参数说明

参数

参数说明

nIDFirst

要重新定位并改变大小的控制条范围中的第一个控制条的ID

nIDLast

要重新定位并改变大小的控制条范围中的最后一个控制条的ID

nIDLeftOver

指定了填充客户区其余部分的方格的ID,指定了被用来重定位并改变大小,以填充客户区中没有被控制条覆盖的区域的子窗口

nFlag

可以具有下列值:

CWnd::reposDefault实现控制条的布局。lpRectParam没有被使用,可以是NULL;

CWnd::reposQuery没有执行控制条的布局,相反用客户区的大小初始化了 lpRectParam,就像已经完成了布局一样。
CWnd::reposExtra
lpRectParam的值加到nIDLast的客户区上,并执行布局。

lpRectParam

指向一个RECT结构;其用法依赖于nFlag的值

lpRectClient

指向一个RECT结构,其中包含了可用的客户区。如果为NULL,则窗口的客户区将被使用。

bStretch

指明控制条是否要被缩放到框架的大小

返回值

void

2. 状态栏使用

2.1.基本频骤

1. 定义状态栏对象。

CStatusBar m_wndStatusBar; //状态栏

2. 创建状态栏。

m_wndStatusBar.Create(this);

3. 设置指示器。

m_wndStatusBar.SetIndicators(aryIDStatusBar, sizeof(aryIDStatusBar)/sizeof(UINT));

4. 设置窗格大小与风格。

m_wndStatusBar.SetPaneInfo(0, m_wndStatusBar.GetItemID(0), SBPS_STRETCH, NULL );

5. 移动状态栏到程序界面底部。

RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);

2.2.实例附录

VC编程中状态栏的使用代码实例请查看文档文件下的StatusBarTest.rar

3. 参考资料

n Microsoft MSDN 2005

n 精通MFC程序设计 姚领田编著人民邮电出版社

图文资讯
广告赞助商