科技行者

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

知识库

知识库 安全导航

至顶网软件频道基础软件托管C++程序开发Win表单文档表单的文档程序程序设计(上)

托管C++程序开发Win表单文档表单的文档程序程序设计(上)

  • 扫一扫
    分享文章到微信

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

在Windows桌面程序中,应用程序类型通常有:对话框、单文档、多文档以及顶层显示的文档应用程序等

作者:Adding 来源:YESKY 2007年11月16日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
二、工具栏和状态栏

  工具栏(ToolBar)和状态栏(StatusBar)是Windows Forms两个控件,但它的构造方法和事件的处理与其他普通控件有所不同。下面分别加以讨论。

  1、使用工具栏的一般步骤

  在Windows Forms中使用工具栏通常遵循下列过程:

  (1) 创建一个ToolBar对象,如:

Toolbar *m_pToolBar = new ToolBar();

  (2) 由于工具栏上的按钮通常都会有相应的图像,因而要先构造由按钮图像组成的图像列表,并设置ToolBar对象的ImageList属性。例如下面的代码:

m_pImageList = new ImageList();
m_pImageList->ImageSize = System::Drawing::Size(16, 16);
m_pImageList->TransparentColor = System::Drawing::Color::Transparent;
m_pImageList->Images->Add(Image::FromFile(S"new.bmp"));
m_pImageList->Images->Add(Image::FromFile(S"open.bmp"));
m_pImageList->Images->Add(Image::FromFile(S"help.bmp"));

m_pToolBar = new ToolBar();
m_pToolBar->ImageList = m_pImageList;

  (3) 向工具栏添加按钮,例如下面的代码是添加一个“新建”按钮:

m_pNewButton = new ToolBarButton();
m_pNewButton->ImageIndex = 0;
m_pNewButton->ToolTipText = S"新建";
m_pNewButton->Text = S"新建"; // 设置按钮文本

m_pToolBar->Buttons->Add(m_pNewButton);

  (4) 设置工具栏属性,这些属性通常包括:外观(Appearance)、边框(BorderStyle)、下拉箭头(DropDownArrows)和文本放置(TextAlign)等。例如下面的代码:

m_pToolBar->Appearance = ToolBarAppearance::Flat; // 平面按钮
m_pToolBar->BorderStyle = BorderStyle::Fixed3D; // 3D外观
m_pToolBar->DropDownArrows = true; // 允许按钮有下拉箭头
m_pToolBar->TextAlign = ToolBarTextAlign::Underneath; // 按包钮文本处于图像下面
m_pToolBar->Divider = false; // 栏与栏之间不允许有分隔线

  (5) 处理工具栏事件

  工具栏包含两个常用的事件:ButtonClick和ButtonDropDown事件。前者是当用户单击工具栏按钮时产生时,而后者是当用户单击按钮旁边的下拉箭头时产生的。这两个事件的映射都是通过ToolBarButtonClickEventHandler来进行的。例如下面的代码框架:

m_pToolBar->ButtonClick += new ToolBarButtonClickEventHandler(this,&WinForm::OnToolButtonClick);
...
void OnToolButtonClick( Object* sender, ToolBarButtonClickEventArgs* e)
{
switch (m_pToolBar->Buttons->IndexOf(e->Button))
{
case 0:
// 当第一个工具按钮按下时
break;
case 1:
// 当第二个工具按钮按下时
break;
...
default:
break;
}
}

  2、使用状态栏的一般步骤

  在Windows Forms中使用状态栏要比工具栏简单,具体步骤如下:

  (1) 创建一个StatusBar对象,如:

StatusBar *m_pStatusBar = new StatusBar();

  (2) 为状态栏添加窗格

  例如下列代码:

m_pSBPanel1 = new StatusBarPanel();
m_pSBPanel1->Text = S"就绪";
m_pSBPanel1->BorderStyle = StatusBarPanelBorderStyle::None;
m_pSBPanel1->AutoSize = StatusBarPanelAutoSize::Spring;

m_pStatusBar->Panels->Add(m_pSBPanel1);

m_pSBPanel2 = new StatusBarPanel();
m_pSBPanel2->Text = S"另外一个窗格";
m_pSBPanel2->AutoSize = StatusBarPanelAutoSize::Spring;

m_pStatusBar->Panels->Add(m_pSBPanel2);

  (3) 设置状态栏属性并添加到窗口的Controls集合中

m_pStatusBar->ShowPanels = true; // 显示所有的窗格
Controls->Add(m_pStatusBar);

  需要说明的是,状态栏也有相应的事件,如PanelClick(用户单击状态栏的窗格)等,但这些事件一般很少用到。

  三、综合示例

  这里给出一个菜单栏、工具栏和状态栏的综合示例程序,其结果如图2所示。

查看本文来源

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

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

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