Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » U++ Library support » TreeCtrl » FIX - Single Click does not open/close items
Re: FIX - Single Click does not open/close items [message #13561 is a reply to message #13527] Mon, 14 January 2008 22:51 Go to previous messageGo to previous message
loki is currently offline  loki
Messages: 36
Registered: October 2007
Member
Thanks mrjt,

but in Open() we should also check for m.child.GetCount() to get it synchron with Paint()

Fix:
void TreeCtrl::Open(int id, bool open)
{
	Item& m = item[id];
	if(m.isopen != open && (m.canopen || m.child.GetCount() || !open)) {
		m.isopen = open;
		int q = GetCursor();
		while(q >= 0) {
			q = GetParent(q);
			if(q == id) {
				SetCursor(id, true, true, true);
				break;
			}
		}
		Dirty(id);
		if(open)
			WhenOpen(id);
		else
			WhenClose(id);
	}
}



In Paint:
if(m.canopen || m.child.GetCount()) {
	Image im = m.isopen ? CtrlImg::treeminus() : CtrlImg::treeplus();
	op -= im.GetSize() / 2;
	w.DrawImage(op.x, op.y, im);


greetings
loki
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: How to turn of tool-tips please?
Next Topic: A [TreeCtrl] bug
Goto Forum:
  


Current Time: Sat May 11 14:54:07 CEST 2024

Total time taken to generate the page: 0.01597 seconds