蛋痛中,跪求大神帮忙!CMFCToolBar中用CMFCToolBarImages动态添加工具栏图标
蛋疼中,跪求大神帮忙!CMFCToolBar中用CMFCToolBarImages动态添加工具栏图标
代码如下,结果显示不出图片
CMFCToolBarImages m_UserImages;
CImageList m_wndImage;
HICON hIcon;
m_wndImage.Create(33, 132, ILC_COLOR8|ILC_MASK,4,4);
hIcon = AfxGetApp()->LoadIcon(IDI_UP_2);
m_wndImage.Add(hIcon);
hIcon = AfxGetApp()->LoadIcon(IDI_DOWN_2);
m_wndImage.Add(hIcon);
hIcon = AfxGetApp()->LoadIcon(IDI_LEFT_2);
m_wndImage.Add(hIcon);
hIcon = AfxGetApp()->LoadIcon(IDI_RIGHT_2);
m_wndImage.Add(hIcon);
m_UserImages.CreateFromImageList(m_wndImage);
// m_UserImages.AddIcon(AfxGetApp()->LoadIcon(IDI_UP_2));
m_UserImages.SetImageSize(CSize(32,32), FALSE);
UINT IDArray[] ={IDM_MOVE_UP,IDM_MOVE_DOWN,IDM_MOVE_LEFT,IDM_MOVE_RIGHT};
m_wndToolBar.SetButtons(IDArray, 4); //这里定义工具栏的按钮个数
m_wndToolBar.SetSizes(CSize(33,33), CSize(32,32));
int j = m_wndToolBar.SetUserImages(&m_UserImages);
m_wndImage.Detach();
int Index=0;
m_wndToolBar.SetButtonInfo(Index, IDM_MOVE_UP, TBBS_BUTTON, Index);
m_wndToolBar.SetButtonText(Index, "上移");
Index++;
m_wndToolBar.SetButtonInfo(Index, IDM_MOVE_DOWN, TBBS_BUTTON, Index);
m_wndToolBar.SetButtonText(Index, "下移");
Index++;
m_wndToolBar.SetButtonInfo(Index, IDM_MOVE_LEFT, TBBS_BUTTON, Index);
m_wndToolBar.SetButtonText(Index, "左移");
Index++;
m_wndToolBar.SetButtonInfo(Index, IDM_MOVE_RIGHT, TBBS_BUTTON , Index);
m_wndToolBar.SetButtonText(Index, "右移");
Index++;
显示效果
请各位大大帮帮忙,小弟不胜感谢!
------解决方案--------------------
好久没写 MFC 了,但是我记得 DLL 中的资源需要特殊处理的。你查查相关资料。
代码如下,结果显示不出图片
CMFCToolBarImages m_UserImages;
CImageList m_wndImage;
HICON hIcon;
m_wndImage.Create(33, 132, ILC_COLOR8|ILC_MASK,4,4);
hIcon = AfxGetApp()->LoadIcon(IDI_UP_2);
m_wndImage.Add(hIcon);
hIcon = AfxGetApp()->LoadIcon(IDI_DOWN_2);
m_wndImage.Add(hIcon);
hIcon = AfxGetApp()->LoadIcon(IDI_LEFT_2);
m_wndImage.Add(hIcon);
hIcon = AfxGetApp()->LoadIcon(IDI_RIGHT_2);
m_wndImage.Add(hIcon);
m_UserImages.CreateFromImageList(m_wndImage);
// m_UserImages.AddIcon(AfxGetApp()->LoadIcon(IDI_UP_2));
m_UserImages.SetImageSize(CSize(32,32), FALSE);
UINT IDArray[] ={IDM_MOVE_UP,IDM_MOVE_DOWN,IDM_MOVE_LEFT,IDM_MOVE_RIGHT};
m_wndToolBar.SetButtons(IDArray, 4); //这里定义工具栏的按钮个数
m_wndToolBar.SetSizes(CSize(33,33), CSize(32,32));
int j = m_wndToolBar.SetUserImages(&m_UserImages);
m_wndImage.Detach();
int Index=0;
m_wndToolBar.SetButtonInfo(Index, IDM_MOVE_UP, TBBS_BUTTON, Index);
m_wndToolBar.SetButtonText(Index, "上移");
Index++;
m_wndToolBar.SetButtonInfo(Index, IDM_MOVE_DOWN, TBBS_BUTTON, Index);
m_wndToolBar.SetButtonText(Index, "下移");
Index++;
m_wndToolBar.SetButtonInfo(Index, IDM_MOVE_LEFT, TBBS_BUTTON, Index);
m_wndToolBar.SetButtonText(Index, "左移");
Index++;
m_wndToolBar.SetButtonInfo(Index, IDM_MOVE_RIGHT, TBBS_BUTTON , Index);
m_wndToolBar.SetButtonText(Index, "右移");
Index++;
显示效果
请各位大大帮帮忙,小弟不胜感谢!
------解决方案--------------------
好久没写 MFC 了,但是我记得 DLL 中的资源需要特殊处理的。你查查相关资料。