代码如下 我重新加载后就是不显示图标.
LRESULT CMainFrame::OnReSetToorBar(WPARAM wParam, LPARAM lParam)
{
m_wndToolBar.ShowPane(FALSE,FALSE,FALSE);
ReLoadToolBarData * toolData = reinterpret_cast< ReLoadToolBarData *>(lParam); if (toolData->uToolBarImgID <= 0)
{
return 0l;
}else
{
// m_wndToolBar.ShowPane(TRUE,FALSE,TRUE);
//m_wndToolBar.ShowPane(FALSE,FALSE,FALSE);
//m_wndToolBar.ShowWindow(SW_SHOW);
} //保存当前资源句柄
HINSTANCE m_hPreInst = AfxGetResourceHandle();
//m_wndToolBar.RestoreOriginalstate();
//使用当前dll的句柄
CString strDll = (LPCTSTR)lParam;
AfxSetResourceHandle(::GetModuleHandle(toolData->strDllName));
//调入以IDR_NEWTOOLBAR表示的工具栏资源;
if (m_wndToolBar.LoadToolBar(wParam))
{
m_wndToolBar.EnableTextLabels();
// if (CMFCToolBar::GetUserImages() == NULL)
{
// load user-defined toolbar images
m_UserImages.Clear(); if (m_UserImages.Load(toolData->uToolBarImgID,::GetModuleHandle(toolData->strDllName)))
{
m_UserImages.SetImageSize(CSize(26, 20), FALSE);
CMFCToolBar::SetSizes(CSize (36, 30), CSize (26, 20));
CMFCToolBar::SetUserImages(&m_UserImages);
}
}
m_wndToolBar.SetWindowText(toolData->strToolBarName);
m_wndToolBar.AdjustLayout();
} AfxSetResourceHandle(m_hPreInst);
m_wndToolBar.ShowPane(TRUE,FALSE,TRUE);
return 0l;
}
LRESULT CMainFrame::OnReSetToorBar(WPARAM wParam, LPARAM lParam)
{
m_wndToolBar.ShowPane(FALSE,FALSE,FALSE);
ReLoadToolBarData * toolData = reinterpret_cast< ReLoadToolBarData *>(lParam); if (toolData->uToolBarImgID <= 0)
{
return 0l;
}else
{
// m_wndToolBar.ShowPane(TRUE,FALSE,TRUE);
//m_wndToolBar.ShowPane(FALSE,FALSE,FALSE);
//m_wndToolBar.ShowWindow(SW_SHOW);
} //保存当前资源句柄
HINSTANCE m_hPreInst = AfxGetResourceHandle();
//m_wndToolBar.RestoreOriginalstate();
//使用当前dll的句柄
CString strDll = (LPCTSTR)lParam;
AfxSetResourceHandle(::GetModuleHandle(toolData->strDllName));
//调入以IDR_NEWTOOLBAR表示的工具栏资源;
if (m_wndToolBar.LoadToolBar(wParam))
{
m_wndToolBar.EnableTextLabels();
// if (CMFCToolBar::GetUserImages() == NULL)
{
// load user-defined toolbar images
m_UserImages.Clear(); if (m_UserImages.Load(toolData->uToolBarImgID,::GetModuleHandle(toolData->strDllName)))
{
m_UserImages.SetImageSize(CSize(26, 20), FALSE);
CMFCToolBar::SetSizes(CSize (36, 30), CSize (26, 20));
CMFCToolBar::SetUserImages(&m_UserImages);
}
}
m_wndToolBar.SetWindowText(toolData->strToolBarName);
m_wndToolBar.AdjustLayout();
} AfxSetResourceHandle(m_hPreInst);
m_wndToolBar.ShowPane(TRUE,FALSE,TRUE);
return 0l;
}
解决方案 »
- 可自动变色的不规则窗口<附源代码>
- 一个CEdit的输入判断问题?
- 怎样清空串口的输入缓存
- 请问一个CFile对象写入磁盘时,如果路径不存在该用哪个函数创建目录?
- 如何通过一个checkbox的选中状态来设置一个EDITBOX的ENABLE/DISABLE
- 如何实现ftp、http,需要是异步的完整代码,急!!可是我是在没分了,高手帮帮忙
- 请问,为何上次有人给我了80分,而我没看见可用分增加?
- 怪问题。 鬼啊~~~~~~~~~~~~~~~~~~~~~~~~~~
- 请问如何让dll 函数在被使用的工程中mfc使用static连接也能运行?`
- 关于setsystemcursor 的参数的问题,急.................
- 全局变量设置为什么无效?
- 为什么进程已经关闭 但是用GetprocessId却还可以得到进程的pid?
类似一下做法:
m_wndToolBar.ReplaceButton (ID_GO_BACK,CMFCToolBarMenuButton (ID_GO_BACK, menuHistory,
GetCmdMgr ()->GetCmdImage (ID_GO_BACK), str));