VC6.0中对话框增加真彩色工具栏及工具栏响应函数问题

在Vc中通过MFC为对话框增加工具栏,方法很多,有的只支持16色,但是这样编程相对简单。有的可以支持32色以上的真彩色,但是编程比较复杂。

这里给对话框增加了ICON图标做工具栏。编程方法如下:

1.在对话框头文件中Public中添加变量:

     CToolBarCtrl m_toolbar;
     CImageList  m_ImageList;

2、为工程添加几个ICON的图标,

3、在Cpp文件中的:OnInitDialog()函数中加入:

const int ARRAY_MAX=5;
 m_ImageList.Create(32,32,ILC_COLOR32|ILC_MASK,0,0);//创建一个图像列表
 m_toolbar.EnableAutomation();
 m_toolbar.Create(WS_CHILD|WS_VISIBLE,CRect(0,0,0,0),this,ID_TOOLBAR);
 UINT Resource[ARRAY_MAX]={IDI_ICON1,IDI_ICON2,IDI_ICON3,IDI_ICON4,IDI_ICON5};
 int i;
 TBBUTTON button[ARRAY_MAX];
 for (i=0;i<ARRAY_MAX;i++)
 {
  m_ImageList.Add(::LoadIcon(::AfxGetResourceHandle(),/
   MAKEINTRESOURCE(Resource[i])));
 }
 m_toolbar.SetImageList(&m_ImageList);
    for (i=0;i<ARRAY_MAX;i++)
 {
  button[i].dwData=0;
  button[i].fsState=TBSTATE_ENABLED;
  button[i].fsStyle=TBSTYLE_BUTTON;
  button[i].iBitmap=i;
 }
 m_toolbar.AddButtons(ARRAY_MAX,button);
 TBBUTTON Wrap;
 Wrap.dwData=0;
 Wrap.fsState=TBSTATE_ENABLED;
 Wrap.fsStyle=TBSTYLE_SEP;
 m_toolbar.InsertButton(3,&Wrap);
 m_toolbar.AutoSize();
 m_toolbar.SetStyle(TBSTYLE_FLAT|CCS_TOP);

 

4、编译后界面如下:

 

5.问题研究:

        一般性的工具栏可以通过class Wizard添加响应函数,但是,现在,以上代码的程序,

在classwizard中找不到工具栏的ID,故无法添加响应函数。手动添加响应函数,也不能得到响应,

如有在这方面有进一步造诣的同道中人请多多交流。

QQ:415522393

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值