?
Hi,
es gibt erhebliche Probleme ohne dem dazugehörigen Framework.
Inzwischen verwende ich CToolBar und alles ist gut. Selbst wenn
es funktiniert ergibt es Memory Leaks bezüglich irgendwelcher
resourcen die da dynamisch allokiert werden.
Auch gibt es Probleme mit ToolTips bei der CMFCToolBar
Hier zb die unterschiedliche handhabe bei OnNeedText
BOOL CPatControlDlg::OnNeedText(UINT id, NMHDR* pNMHDR, LRESULT* pResult)
{
/*
//CMFCToolBar
UINT_PTR nId = pNMHDR->idFrom - 1;
CMFCToolBarButton *pBtn = m_ToolBar.GetButton(nId);
if(pBtn)
{
TCHAR szBuff[64];
LoadString(AfxGetResourceHandle(), pBtn->m_nID, szBuff, sizeof(szBuff) / sizeof(TCHAR));
TOOLTIPTEXT *pTTT = (TOOLTIPTEXT *)pNMHDR;
pTTT->lpszText = szBuff;
pTTT->hinst = AfxGetResourceHandle();
}*/
//CToolBar
if(m_ShowToolTip)
{
NMTOOLBAR* pNMToolBar = (NMTOOLBAR*)pNMHDR;
TOOLTIPTEXT *pTTT = (TOOLTIPTEXT *)pNMHDR;
UINT_PTR nId = pNMHDR->idFrom;
TCHAR szBuff[128]; LoadString(AfxGetResourceHandle(), nId, szBuff, sizeof(szBuff) / sizeof(TCHAR));
pTTT->lpszText = szBuff;
pTTT->hinst = AfxGetResourceHandle();
}
return TRUE;
}
Fazit: nur verwenden wenn SDI oder MDI Anwendungen mit dem
verwendeten Framework des Klassen-Assistenten erstellt wurden.
Grüße
Karsten