Contents

Develop
2013.04.23 15:32

[c++] 트리컨트롤 예제1 ㅋㅋ

조회 수 7161 댓글 0
Atachment
첨부 '2'
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

실행 화면..

treectrl1.gif


사용하기 앞서..

대화상자에 트리컨트롤을 붙이고 옵션을 설정합니다.

Styles에 에디트 기능을 사용하기 위해서 Edit labels를 선택하고, 선택된 아이템을 표시할 수 있게 하기 위해서 Show selection always를 선택합니다.


프로그램 설명..

TreeCtrl을 이용하여 텍스트 추가, 삭제, 변경의 기능을 구현한 예제입니다.

추가를 하면 자식노드가 추가되고, 삭제를 하면 해당 핸들의 자식 노드까지 모두 제거됩니다.

변경은 선택된 노드에 편집가능 하도록 에디트박스가 생성됩니다.


소스 사용법..

TVINSERTSTRUCT구조체를 이용하여 아이템들을 구성하는 코드입니다.

TVINSERTSTRUCT data;
  
// 부모가 될 트리를 지정한다.
data.hParent = parm_parent;

// 입력된 문자열을 정렬한다.
data.hInsertAfter = TVI_SORT;  

// 텍스트만 삽입할건지...이미지를 삽입할건지 결정 
data.item.mask = TVIF_TEXT;

// 삽입될 문자열 지정 
data.item.pszText = parm_text;

// 삽입한다.
return m_my_tree_ctrl.InsertItem(&data);

트리컨트롤 사용중에 엔터키를 입력해도 대화상자가 종료되지 않도록 처리하는 코드입니다.

if(p_wnd != NULL
    && ((p_edit != NULL && p_edit->m_hWnd == p_wnd->m_hWnd)
    || m_my_tree_ctrl.m_hWnd == p_wnd->m_hWnd)){
    
    if(p_edit != NULL){
        // 에디트가 생성되어 있다는 소리는 라벨을 편집중에 엔터키를 눌렀다는 뜻이다.
        // 따라서 편집을 종료할수 있도록 해당 컨트롤에 포커스 해제 메시지를 전송한다.
        p_edit->SendMessage(WM_KILLFOCUS);
    }
}else{
    CDialog::OnOK();
}

주의 사항..

편집한 문자열이 적용될수 있도록 1을 설정합니다.

void CTestTreeCtrlDlg::OnEndlabeleditMyTree(NMHDR* pNMHDR, LRESULT* pResult) 
{
    *pResult = 1;
}


?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
717 Develop 논문 실험용 고려대 툴바 ㅎㅎ secret hooni 2013.04.23 8686
716 Develop [ios] 개발 기초 가이드 링크.. hooni 2013.04.23 31364
715 System/OS 맥북에서 MAC/윈도우 멀티부팅시 시간 설정 file hooni 2013.04.23 29755
714 Develop 웹페이지 성능 테스트 툴 설명 hooni 2013.04.23 27442
713 Develop [Xcode] 디버깅 옵션 file hooni 2013.04.23 57194
712 Algorithm 러시아 페인트공 알고리즘에 대해.. hooni 2013.04.23 22877
711 Develop [ios] Objective-C 문자열 잘라서 배열(NSArray)에 넣기 hooni 2013.04.23 29411
710 Develop [ios] Objective-C 특정 문자 찾아 제거하기 hooni 2013.04.23 28058
709 Develop [ios] Objective-C에서 형식이 있는 문자열(Format Strings)에 사용할 수 있는 토큰들(Tokens) file hooni 2013.04.23 18781
708 Develop [ios] Objective-C 문자열 조작 메서드 hooni 2013.04.23 26452
707 Develop [android] [번역] 안드로이드 Android Cloud to Device Messaging(C2DM) hooni 2013.04.23 20419
706 PPT [ppt] Equation Solving 발표 자료 (@PWE랩 톡데이 2011.07.26) file hooni 2013.04.23 24665
Board Pagination Prev 1 ... 34 35 36 37 38 39 40 41 42 43 ... 98 Next
/ 98