Handling Return in CTreeCtrl
Ray Frohnhoefer -- rayf@datatree.com Friday, September 06, 1996 Environment: VC++4.2, Win95 I have a CTreeControl on a dialog box on a property page. When I double-click, the nodes are expanded or collapsed. I am trying to get the same effect from hitting the return key, but the overrides for messages NM_RETURN and TVN_KEYDOWN never get control. I've used SPY and see the WM_KEYDOWN message and can capture it in PreTranslateMessage, but then don't know all the "protocol" of what messages need to be send to contract/expand nodes, and handle some of the other actions of the control which are "hidden". Can anyone suggest a workaround or some other problem I may be missing? TIA Ray F Gott wuerfelt nicht. - Albert Einstein ---------------------------------------------------------------------------- * Ray Frohnhoefer email: rayf@datatree.com, Frohnzie@aol.com * DataTree Corporation web: http://www.datatree.com * 550 West C Street, Ste. 2040 phone: (619) 231-3300 x131 * San Diego, CA 92101 fax: (619) 231-3301 *
Ravi -- Bikkula@albpig.cho.ge.com Saturday, September 07, 1996 Hi Ray, I faced similar problem when I wanted to end the editing of items with return in Tree control. Basically you need to implement Pretranslatemessage for your property page and catch the keys you require. Following code of mine may be useful to you. ############################################################# BOOL CXXXPage::PreTranslateMessage(MSG* pMsg) { if (m_bEdting) { if (pMsg->message == WM_KEYDOWN) { if(pMsg->wParam == VK_RETURN) { CString pointName; m_pointEdit->GetWindowText(pointName); HTREEITEM hItem = m_pointsTree.GetSelectedItem(); //todo return TRUE; } else { if(pMsg->wParam == VK_ESCAPE) { m_pointEdit->Undo(); return TRUE; } return CMyPropPage::PreTranslateMessage(pMsg); } } } } return CMyPropPage::PreTranslateMessage(pMsg); } ############################################################# Thanx and Regards ................................................................... Ravi Kumar Bikkula Off : Res : GE Fanuc Automation 4,Farnsworth Drive , Apt #9 Albany, NY 12203 5189 Slingerlands, NY 12159 Ph # (518) 464-4695 Ph # (518) 869-8515 mail : Bikkula@albpig.cho.ge.com ------------------------------------------------------------------------- ---------- From: owner-mfc-l[SMTP:owner-mfc-l@majordomo.netcom.com] Sent: Friday, September 06, 1996 10:46 AM To: mfc-l Subject: Handling Return in CTreeCtrl Environment: VC++4.2, Win95 I have a CTreeControl on a dialog box on a property page. When I double-click, the nodes are expanded or collapsed. I am trying to get the same effect from hitting the return key, but the overrides for messages NM_RETURN and TVN_KEYDOWN never get control. I've used SPY and see the WM_KEYDOWN message and can capture it in PreTranslateMessage, but then don't know all the "protocol" of what messages need to be send to contract/expand nodes, and handle some of the other actions of the control which are "hidden". Can anyone suggest a workaround or some other problem I may be missing? TIA Ray F Gott wuerfelt nicht. - Albert Einstein -------------------------------------------------------------------------- -- * Ray Frohnhoefer email: rayf@datatree.com, Frohnzie@aol.com * DataTree Corporation web: http://www.datatree.com * 550 West C Street, Ste. 2040 phone: (619) 231-3300 x131 * San Diego, CA 92101 fax: (619) 231-3301 *
| Вернуться в корень Архива |