MFC手動(dòng)創(chuàng)建帶圖標(biāo)的工具欄
(2013-02-06 09:44:36)
很多時(shí)候我們需要自己創(chuàng)建工具欄。
1、創(chuàng)建基于對(duì)話框的工程
2、在OnInitDialog后面添加如下初始化代碼
//創(chuàng)建圖像列表
m_ImageList.Create(32, 32, ILC_COLOR24|ILC_MASK,
1, 1);
//向圖像列表中添加圖圖像
CBitmap bmp;
for(int n=0; n<5; n++)
{
bmp.LoadBitmap(IDB_BITMAP1 +
n);
m_ImageList.Add(&bmp,
RGB(255, 255, 255));
bmp.DeleteObject();
}
//定義工具欄命令I(lǐng)D數(shù)組
UINT nArray[5];
for(int i=0; i<5; i++)
{
nArray[i] = ID_ADDINFO +
i;
}
m_Toolbar.CreateEx(this);
m_Toolbar.SetButtons(nArray, 5);
//設(shè)置工具欄按鈕和按鈕圖像大小
m_Toolbar.SetSizes(CSize(60, 56), CSize(24,
24));
//設(shè)置工具欄文本
m_Toolbar.SetButtonText(0, "信息添加");
m_Toolbar.SetButtonText(1, "信息修改");
m_Toolbar.SetButtonText(2, "信息刪除");
m_Toolbar.SetButtonText(3, "信息查詢");
m_Toolbar.SetButtonText(4, "信息保存");
//設(shè)置工具欄按鈕顯示圖標(biāo)
m_Toolbar.GetToolBarCtrl().SetImageList(&m_ImageList);
//顯示工具欄
RepositionBars(AFX_IDW_CONTROLBAR_FIRST,
AFX_IDW_CONTROLBAR_LAST, 0);
3、添加命令消息響應(yīng)
定義命令宏
//定義工具欄按鈕命令I(lǐng)D
#define
ID_ADDINFO 1001
#define ID_UPDATEINFO 1002
#define
ID_DELINFO 1003
#define ID_QUERYINFO 1004
#define
ID_SAVEINFO 1005
響應(yīng)命令消息
ON_COMMAND(ID_ADDINFO, OnAddInfo)
ON_COMMAND(ID_UPDATEINFO, OnUpdateInfo)
....
ON_COMMAND(ID...)
|