明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

怎么用VC++5在菜單中增加位圖或圖標(biāo)

[摘要]我們在使用Windows 95時(shí),可以注意到在“開始”組中的菜單項(xiàng)前都有一個(gè)圖標(biāo),而且在Word 97中的菜單項(xiàng)前也有一個(gè)圖標(biāo)。這些圖標(biāo)不但讓我們清楚地了解到屏幕上的各種工具按鈕與各個(gè)菜單項(xiàng)之間的聯(lián)...
我們在使用Windows 95時(shí),可以注意到在“開始”組中的菜單項(xiàng)前都有一個(gè)圖標(biāo),而且在Word 97中的菜單項(xiàng)前也有一個(gè)圖標(biāo)。這些圖標(biāo)不但讓我們清楚地了解到屏幕上的各種工具按鈕與各個(gè)菜單項(xiàng)之間的聯(lián)系,而且還增加了應(yīng)用程序界面的美觀。那么,請問如何用Visual C++ 5.0在應(yīng)用程序菜單中增加圖標(biāo)?
  MFC的CMenu類有一個(gè)成員函數(shù)SetMenuItemBitmaps,可以用于往菜單中增加圖標(biāo)。具體方法如下:

  在應(yīng)用程序的資源文件中添加想要增加的位圖,并將其ID命名為IDB_OPEN1和IDB_OPEN2;---在應(yīng)用程序的視圖類中添加CBitmap類的對象,不妨取名為bm_open1和bm_open2。在視圖類的構(gòu)造函數(shù)中添加以下代碼:

  bm_open1.LoadBitmap(IDB_OPEN1);bm_open2.LoadBitmap(IDB_OPEN2);(函數(shù)LoadBitmap用于加載位圖到CBitmap類的對象)在視圖類的成員函數(shù)OnDraw()中添加以下代碼:

  CWnd*parent=GetParent();CMenu*pmenubar=parent->GetMenu();    

  CMenu*pmenu=pmenubar->GetSubMenu(2);

  pmenu->SetMenuItemBitmaps(1,MF_BYPOSITION,&bm_open1,&bm_open2);

  前三行得到指向菜單的指針,第四行調(diào)用函數(shù)SetMenuItemBitmaps往菜單中增加圖標(biāo),具體參數(shù)的含義可參見有關(guān)介紹MFC及其成員函數(shù)的書即可。