![]() 图一、透明显示256色的图标 |
| BOOL Create(int cx,int cy,BOOL bMask,int nInitial,int nGrow); |
| HANDLE LoadImage( HINSTANCE hinst, // handle of the instance containing the image LPCTSTR lpszName, // name or identifier of image UINT uType, // type of image int cxDesired, // desired width int cyDesired, // desired height UINT fuLoad // load flags ); |
上述函数用来装载图标、图像或光标资源,如果调用成功,函数返回装载的资源的句柄,否则返回"NULL"。其中参数hinst为包含图标/图像资源的应用程序句柄;lpszName为资源的名字,该资源名字的获取可以使用MAKEINTRESOURCE()函数将资源ID转换得到;参数uType说明当前资源的类型,是图标、图像还是光标;cxDesired和cyDesired为希望的目标尺寸;最后一个参数是装载标志,在处理图标资源时,一般情况下设置为"0"。
最后,需要调用CToolBarCtrl类的CImageList* SetImageList( CImageList* pImageList )函数将图标列表对象与工具条对象关联起来,从而在工具条上显示出装载的图标。
| ////////////////////////////////////////////////////////////////////////////////////// int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CFrameWnd::OnCreate(lpCreateStruct) == -1) return -1; 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)) { TRACE0("Failed to create toolbar\n"); return -1; // fail to create } if (!m_wndStatusBar.Create(this) || !m_wndStatusBar.SetIndicators(indicators, sizeof(indicators)/sizeof(UINT))) { TRACE0("Failed to create status bar\n"); return -1; // fail to create } //设置ToolBar的图标列表 m_ilTB.Create(32, 32, TRUE | ILC_COLOR8, 4, 0); HICON hIcon = NULL; hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ICON1), IMAGE_ICON, 32, 32, 0); m_ilTB.Add(hIcon); hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ICON2), IMAGE_ICON, 32, 32, 0); m_ilTB.Add(hIcon); hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_ICON3), IMAGE_ICON, 32, 32, 0); m_ilTB.Add(hIcon); hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ICON4), IMAGE_ICON, 32, 32, 0); m_ilTB.Add(hIcon); m_wndToolBar.GetToolBarCtrl().SetImageList(&m_ilTB); // TODO: Delete these three lines if you don't want the toolbar to be dockable m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY); EnableDocking(CBRS_ALIGN_ANY); DockControlBar(&m_wndToolBar); return 0; } |
【中国下载站】【设为主页】【收藏本页】【打印本文】【回到顶部】【关闭此页】