Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C++ C++/CLI C MFC ATL WTL STL
Hi all,

i m using this for TVN_ITEMEXPANDING,here its working fine when i exand or collapse tree item by keyboard.

But when i exand or collapse tree item by mouce click than it is change image of previously selected item.

please tell me where i m wrong.


void CTree::OnTvnItemexpanding(NMHDR *pNMHDR, LRESULT *pResult)
{
	LPNMTREEVIEW pNMTreeView = reinterpret_cast<LPNMTREEVIEW>(pNMHDR);
	
	NMTREEVIEW* pnmtv = (NMTREEVIEW*) pNMHDR;
	
	CTreeCtrl& tc = GetTreeCtrl();
	HTREEITEM item = tc.GetSelectedItem(); 
 
	if ( pnmtv->action == TVE_EXPAND )
	{
		tc.SetItemImage(item,1,1);		
	}	
	else if ( pnmtv->action == TVE_COLLAPSE )
	{
		tc.SetItemImage(item,0,0);
	}
	
	*pResult = 0;

}

thanks in advance.
Posted 8-Aug-08 20:20pm
Le@rner4.1K
Edited 15-Oct-10 12:32pm
Yusuf39.9K
v2

1 solution

Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

"_$h@nky_" wrote:
HTREEITEM item = tc.GetSelectedItem();


Because you are setting the image of selected item. Use pnmtv->itemNew.hItem


HTREEITEM item = pnmtv->itemNew.hItem;

  Permalink  

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 OriginalGriff 475
1 Maciej Los 339
2 Richard MacCutchan 225
3 BillWoodruff 219
4 Suraj Sahoo | Coding Passion 155
0 OriginalGriff 8,759
1 Sergey Alexandrovich Kryukov 7,407
2 DamithSL 5,639
3 Maciej Los 5,269
4 Manas Bhardwaj 4,986


Advertise | Privacy | Mobile
Web01 | 2.8.1411028.1 | Last Updated 15 Oct 2010
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100