CTreeCtrl and double clicks
Jeff Eldridge -- jeldridge@cix.compulink.co.uk
Tuesday, May 07, 1996
In-Reply-To: <96Apr22.071047cdt.17862@mail.aegonusa.com>
Environment: NT 3.51 (SP3), VC++ 4.1
I have a property page with a CTreeCtrl in it. I'm trapping the double
click notification but I'm getting a strange access violation. My handler
looks like:
void X::OnDblClickTree(NMHDR* pNMHDR, LRESULT* pResult)
{
// Get the selected item. m_Tree is a CTreeCtrl
HTREEITEM hItem = m_Tree.GetSelectedItem();
TV_ITEM tvi;
if (NULL != hItem)
{
// Get the selected items text
tvi.hItem = hItem;
tvi.mask = TVIF_TEXT;
m_Tree.GetItem (&tvi);
}
*pResult = 0;
}
This code causes an access violation in wincore.cpp line 209 in
AfxCallWndProc. If the call to m_Tree.GetItem is commented out,
everything is fine.
Anyone any ideas?
Cheers, Jeff
LeRoy Baxter -- lbaxter@cinfo.com
Thursday, May 09, 1996
[Moderator's note: There were 9 responses. The first is good enough.]
you need a buffer for the item you are retrieving.
void X::OnDblClickTree(NMHDR* pNMHDR, LRESULT* pResult)
{
char buf[256];
// Get the selected item. m_Tree is a CTreeCtrl
HTREEITEM hItem = m_Tree.GetSelectedItem();
TV_ITEM tvi;
if (NULL != hItem)
{
// Get the selected items text
tvi.hItem = hItem;
tvi.mask = TVIF_TEXT;
tvi.pszText = buf;
tvi.cchTextMax = 256;
m_Tree.GetItem (&tvi);
}
*pResult = 0;
}
| Вернуться в корень Архива
|