工控编程吧

标题: 13.上位机VC MFC实现工具栏按钮位置的随意调整 [打印本页]

作者: qq263946146    时间: 2015-11-9 22:15
标题: 13.上位机VC MFC实现工具栏按钮位置的随意调整
工具栏按钮文本显示隐藏

功能展示
有时候我们的工具栏只要图标不需要按钮的文本部分,或都是根据用户当前的操作随时切换变化,
提高程序的应用性,那我们当前例程就实现了这功能,效果如图
(, 下载次数: 1)

要点提示
实现这功能非常简单,只要通过简单调用CToolBar内部几个成员函数便可,其中重要几个函数。我们这里另外使用小技巧实现;
void SetSizes( SIZE sizeButton, SIZE sizeImage );
用来设置工具栏按钮和图标的大小。
void SetHeight( int cyHeight );
用来设置工具栏的高度;
BOOL SetButtonText( int nIndex, LPCTSTR lpszText );
用来设置工具栏指定按钮的文本



实现功能
•1.新建一个对话框应用程序

•2.在对话框类中添加几个变量

•BOOL        m_bShowText;   //显示隐藏工具栏按钮文本标识

•  CToolBar  m_ToolBar;     //带文本的工具栏

•  CToolBar  m_ToolBar1;    //仅带图标的工具栏

•  CImageList  m_ImageList;

•3.在对话框类的OnInitDialog()中对这些变量进行初始化

•  m_ImageList.Create(16,16,ILC_COLOR24|ILC_MASK,1,1);

•  m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON1));

•  m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON2));

•  m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON3));

•  m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON4));

•  m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON5));

•  m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON6));

•  m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON7));

•  m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON8));

•  UINTarray[11];

&#8226;  for(inti=0;i<11;i++)

&#8226;  {

&#8226;  if(i==3|| i==7 || i==9)

&#8226;  array= ID_SEPARATOR; //设置ID 第4、8、10个按钮为分隔条

&#8226;  else

&#8226;  array= i+1001;

&#8226;  }

&#8226;  CStringstr[]={"新建","打开","保存","","剪切","复制","粘贴","","打印","","退出"};

&#8226;  m_ToolBar.CreateEx(this,TBSTYLE_FLAT,WS_CHILD| WS_VISIBLE | CBRS_TOP

&#8226;  |CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_SIZE_DYNAMIC | CBRS_BORDER_TOP );

&#8226;  m_ToolBar1.CreateEx(this,TBSTYLE_FLAT,WS_CHILD| WS_VISIBLE | CBRS_TOP

&#8226;  |CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_SIZE_DYNAMIC | CBRS_BORDER_TOP );

&#8226;  m_ToolBar.SetButtons(array,11);

&#8226;  m_ToolBar1.SetButtons(array,11);

&#8226;  for(i=0;i<11;i++)

&#8226;  {

&#8226;  m_ToolBar.SetButtonText(i,str);  //设置工具栏按钮文本

&#8226;  m_ToolBar1.SetButtonText(i,"");  

&#8226;  }


演示功能实现的整个过程

[iqiyi]http://player.video.qiyi.com/484eb2fd9971a26d76fce37c88c33878/0/0/w_19rt94bj2t.swf-albumId=4866468409-tvId=4866468409-isPurchase=0-cnId=12[/iqiyi]




源码及视频下载

(仅在电脑可见)

(, 下载次数: 2)