본문 바로가기

Study/MFC61

SubClassing 사용시 동적으로 할당한 컨트롤 SubclassDlgItem Assert문제 CTreeCtrl을 SubClassing하여 사용중에, 해당 컨트롤을 동적으로 변경해서 사용해야 하는 일이 생겼다.그냥 new해서 만들어 쓸라하는데 SubclassDlgItem 에서 Assert 터지네 -_-; 뭐야 이검.. 동적으로 생성하면 이미 subclassing이 먹힌다나 뭐라나 ;암튼 SubclassDlgItem 요거 호출전에 아래것처럼 Unsubclasswindow하고 호출하니 터지지 않는다.m_pMyTreeCtrl->UnsubclassWindow();m_pMyTreeCtrl->SubclassDlgItem(IDC_TREE_TEST, this); 정보는 공유되어야 한다 쭈욱~~ 2015. 12. 28.
CTreeCtrl 모든 노드 펼치기 Expand all items CTreeCtrl을 모든 노드를 펼치고 싶을때!! void ExpandAll_Item(){HTREEITEM hItem;HTREEITEM hCurrent; hItem= treeCtrl.GetFirstVisibleItem();while (hItem != NULL){treeCtrl.Expand(hItem,TVE_EXPAND);hItem= treeCtrl.GetNextItem(hItem, TVGN_NEXTVISIBLE);}} 정보는 공유되어야 한다 쭈욱~~ 2015. 12. 24.
CTreeCtrl에서 현재 선택된 아이템의 depth 구한기 현재 선택된 아이템이 몇 depth인가? 간단하게 현재 선택된 아이템의 몇 depth인지 구하는 함수!! /// 인자에 depth를 구할 tree item 을 넣어주자!int GetCurrentDepth(HTREEITEM hItem){int nDepth = 1; // Root를 1 depth로 한다.HTREEITEM hNode = NULL;hNode = GetParentItem(hNode);if( hNode){while(hNode != NULL){nDepth++;hNode = GetParentItem(hNode);}}return nDepth;} 정보는 공유되어야 한다 쭈욱~~ 2015. 12. 11.
MFC Control SubClassing 할때(서브클래싱) | ON_NOTIFY_REFLECT_EX 와 ON_CONTROL_REFLECT_EX 이번에 CtreeCtrl을 SubClassing해야 할 일이 생겼다.뭐 기존에는 그냥 가져다 다이얼로그 붙여놓고 다이얼로그 소스 내부에서 지지고 볶고 해서 썼을텐데 이번에는CtreeCtrl을 SubClassing 하여 좀 더 내가 필요한 기능들이 첨부되어 있는 간단한 트리 컨트롤을 만들고 싶었다. 뭐 SubClassing 해봐야 Dran&Drop 처리, Search 기능, 아이템 선택시 하위 아이템 자동 펼치기 등등..좀더 생각 나는것들은더 처 넣겠지만.. 암튼 요런거 안하다 해보니 잼나기도 하고 예전에 왜 이런거 안하고 무식하게 다이얼로그마다 컨트롤 붙이고 컨트롤 기능입히고;;..-_-;뭐 물론 복잡한건 커스텀마이징 된 컨트롤을 갔다 썻지만 말이다... 이번에 잼났던게 ON_NOTIFY_REFLECT .. 2015. 12. 10.