科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件VC通用控件编程之CStatusBar控件

VC通用控件编程之CStatusBar控件

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

状态条控制(Status Bar Control)比较容易理解,使用起来也比较简单。

作者:佚名 来源:programunion 2007年10月22日

关键字: VC 编程 CStatusBar 控件

  • 评论
  • 分享微博
  • 分享邮件
(一)状态条控制的主要功能

  状态条控制(Status Bar Control)比较容易理解,使用起来也比较简单。状态条是位于父窗口底部的一个水平子窗口,它可以被分成多个显示信息的小区域。其MFC中封装的CstatusBarCtrl控制类提供了应用的基本方法。

  (二)状态条控制的对象结构

  1、状态条控制的建立方法

   CStatusBarCtrl &StatusBarCtrl 建立状态条控制对象结构

   Create 建立状态条控制对象并绑定

  状态条控制类CstatusBarCtrl::Create的调用格式如下:

BOOL Create( DWORD dwStyle,const RECT& rect,CWnd* pParentWnd,UINT nID);

  其中参数dwStyle用来确定状态条的控制风格;参数rect用来确定状态条窗口的大小和位置;参数pParentWnd用来确定状态条父窗口的指针;nID用来确定状态条控制的标识符。

  状态条控制风格可以是下列值的组合:CCS_BOTTOM、CCS_NODIVIDER、CCS_NOHILITE、CCS_NOMOVEY、CCS_NOPARENTALIGN、CCS_NORESIZE和CCS_TOP等,具体内容和含义请见工具条控制中的有关部分。

  2、状态条控制的类属性

  状态条控制类属性包括设置给定部分显示文本SetText、取得给定部分的文本GetText、设置状态条区域划分数及其每部分的右边坐标SetParts、取得状态条区域划分数量GetParts、取得状态条的水平和垂直宽度GetBorders和取得状态条矩形区域GetRect。

  (三)状态条控制的应用技巧

  状态条控制除可以显示一定的帮助和提示信息外,还可以实现响应鼠标输入等功能。这里以在状态条上显示鼠标移动坐标为例,具体说明其应用技巧。

  利用应用程序向导生成的程序代码中,状态条作为主窗口的子窗口,其具有一个AFX_IDW_STATUS _BAR标识符,通过它调用函数GetDescendantWindow()和AfxGetMainWnd(),就可以取得状态条窗口的指针。由于基于文档的应用程序在建立时就具有状态条区域,所以只要利用类向导简单地加入鼠标移动消息处理功能函数和下述函数代码,就可以实现这一功能:

Void CTestView::OnMouseMove(UINT nFlags,Cpoint point)

{

CclientDC dc(this);//建立设备文本

OnPrepareDC(&dc,NULL);//设备映射处理

dc.DPtoLP(&point);//鼠标指针转换

char text[128];

CstatusBar *pStatus=(CstatusBar *)AfxGetApp()->m_pMainWnd->

GetDescendanWindow(AFX_IDW_STATUS_BAR);//取得窗口指针

If(pStatus){//如果存在显示鼠标坐标

Sprintf(text,”X坐标=%4d,Y坐标=%4d”,point.x,point.y);

pStatus->SetPaneText(0,text);}

CscrollView::OnMouseMove(nFlags,point);

}

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章