vs2008中打了SP1补丁包,给工具栏按钮单独贴位图(注意:是“单独”,也就是有多张图)

1.在int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)函数中,修改这段代码   

 if ( !m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, 

                            WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
          !m_wndToolBar.LoadToolBar( IDR_MAINFRAME_256, 0, 0, FALSE, 0, 0, IDB_BITMAP2) )//需要用位图初始化
     {
         TRACE0("Failed to create toolbar\n");
         return -1;      // fail to create

     }

    SetToolbarIPic();//调用这个函数

2.自己定义的贴位图的函数

void CMainFrame::SetToolbarIPic()
{


UINT IDArray[] ={ID_FILE_NEW,ID_FILE_OPEN,ID_FILE_SAVE,ID_EDIT_CUT,ID_EDIT_COPY,ID_EDIT_PASTE,ID_FILE_PRINT,ID_APP_ABOUT};
m_wndToolBar.SetButtons(IDArray, 8); //这里定义工具栏的按钮个数
m_wndToolBar.SetSizes(CSize(26,26), CSize(24,24));//设置按钮和图像的大小


m_wndToolBar.ResetAllImages();//此方法清除了由CMFCToolBar:: LoadToolBar和CMFCToolBar:: LoadBitmap方法初始化的图像集。
m_wndToolBar.CleanUpLockedImages();//释放分配用于锁定工具栏的图像的系统资源


//只显示下边添加的位图,初始化的位图被清除了,并且初始化的位图不能再加到下边
m_wndToolBar.LoadBitmapW(IDB_BITMAP3);
m_wndToolBar.LoadBitmapW(IDB_BITMAP4);
m_wndToolBar.LoadBitmapW(IDB_BITMAP5);

        。。。。

}

3.在InitInstance里设置

  m_bSaveState = FALSE;

  CleanState(); //用来清空注册表中保存的程序信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值