NinjaOne
Erfahrenes Mitglied
Hi,
hab das ganze mal anders gelöst.
In die abgeleitete Classe von CDialog:
In die OnInitDialog():
Message von CTreeCtrl => TVN_ITEMEXPANDED:
Message von CTreeCtrl => TVN_ITEMEXPANDING:
Das geht soweit, muss jetzt nur noch ne neue InsertItem-Funktion schreiben.
Das andere ist mir zu hoch.
Bin zwar bis zur erstellung der BOOL CDlgTreeDlg::OnToolTipNotify( UINT id, NMHDR * pNMHDR, LRESULT * pResult ) Funktion gekommen, doch wie ich brauchbare werte aus NMHDR bekommen soll ist mir schleierhaft.
Naja, ich dank euch trotzdem.
Wenn noch jemand lust hat mir das ganze noch mal ganz einfach mit etwas Quellcode zu erklären, würde mich freuen.
Bye
hab das ganze mal anders gelöst.
In die abgeleitete Classe von CDialog:
Code:
CToolTipCtrl ToolTip;
In die OnInitDialog():
Code:
CRect rect;
// Beispiel Eingaben
HTREEITEM s1=m_Tree.InsertItem("Hallo1");
HTREEITEM s2=m_Tree.InsertItem("Hallo2");
m_Tree.InsertItem("Hallo2/Hallo",s2);
HTREEITEM s3=m_Tree.InsertItem("Hallo3");
m_Tree.GetClientRect(&rect);
MapDialogRect(&rect);
ToolTip.Create(&m_Tree,TVS_NOTOOLTIPS);
int i=2000;
HTREEITEM ptr=m_Tree.GetFirstVisibleItem();
while(ptr!=NULL) {
m_Tree.GetItemRect(ptr,&rect,TRUE);
ToolTip.AddTool(&m_Tree,m_Tree.GetItemText(ptr),&rect,i++);
ptr=m_Tree.GetNextVisibleItem(ptr);
}
m_Tree.SetToolTips(&ToolTip);
return TRUE;
Message von CTreeCtrl => TVN_ITEMEXPANDED:
Code:
void CDlgToolTipDlg::OnItemexpandedTree1(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
// TODO: Code für die Behandlungsroutine der Steuerelement-Benachrichtigung hier einfügen
int i=2000;
CRect rect;
HTREEITEM ptr=m_Tree.GetFirstVisibleItem();
while(ptr!=NULL) {
m_Tree.GetItemRect(ptr,&rect,TRUE);
ToolTip.AddTool(&m_Tree,m_Tree.GetItemText(ptr),&rect,i++);
ptr=m_Tree.GetNextVisibleItem(ptr);
}
*pResult = 0;
}
Message von CTreeCtrl => TVN_ITEMEXPANDING:
Code:
void CDlgToolTipDlg::OnItemexpandingTree1(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
// TODO: Code für die Behandlungsroutine der Steuerelement-Benachrichtigung hier einfügen
int i=2000;
CRect rect;
HTREEITEM ptr=m_Tree.GetFirstVisibleItem();
while(ptr!=NULL) {
ToolTip.DelTool(&m_Tree,i++);
ptr=m_Tree.GetNextVisibleItem(ptr);
}
*pResult = 0;
}
Das geht soweit, muss jetzt nur noch ne neue InsertItem-Funktion schreiben.
Das andere ist mir zu hoch.
Bin zwar bis zur erstellung der BOOL CDlgTreeDlg::OnToolTipNotify( UINT id, NMHDR * pNMHDR, LRESULT * pResult ) Funktion gekommen, doch wie ich brauchbare werte aus NMHDR bekommen soll ist mir schleierhaft.
Naja, ich dank euch trotzdem.
Wenn noch jemand lust hat mir das ganze noch mal ganz einfach mit etwas Quellcode zu erklären, würde mich freuen.
Bye