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程序设计 姚领田编著人民邮电出版社
- 07-01· 禁教唐诗算术能还幼儿快
- 07-01· 2011年06月17日
- 07-01· 唐诗宋词英译:李商隐 筹
- 07-01· 仿评《唐诗1000首》第186首
- 07-01· 没事干的时候背背唐诗吧
- 07-01· [转载]唐诗中“斜”字该读
- 07-01· 湖南醴陵瓷业转型升级
- 07-01· 奇瑞风云2两厢黑色|2010款
- 07-01· 摩根士丹利华鑫摩根士丹
- 07-01· 摩根士丹利华鑫近期优选
- 07-01· 中金投行部大摩出售中金
- 07-01· 摩根士丹利招聘6月2日【实
- 07-01· 营养防病圣典
- 07-01· 《博伽梵歌原意》之第十
- 07-01· [不错]斑斓圣典---减肥中常
- 07-01· 武乐圣典《太极武当》:武
- 07-01· 铁血英雄-现阶段战功牌兑
- 07-01· 2011年06月10日【原创】南歌
- 07-01· 【淘宝网信息】- 2010年的
- 07-01· 深圳品牌女装有哪些?