게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
MFC 4일차입니다.. 도저히 해답을 못찾겠는데 도와주세요ㅠㅠ
게시물ID : programmer_18496짧은주소 복사하기
작성자 : 법-규
추천 : 0
조회수 : 847회
댓글수 : 2개
등록시간 : 2016/09/23 18:42:53
옵션
  • 본인삭제금지
MFC로 간단한 프로그램 만들고있습니다.
구현하고자 하는 전체 동작은

경로설정(탐색기의 Tree처럼 선택)-> 경로에있는 특정확장자 파일(이미지로 예를 들고) 리스트박스에 추가(목록구성)
 -> 리스트박스에서 선택하면 해당파일 이미지 출력

이런 프로그램을 만들고싶은데
경로설정과 리스트를 탭컨트롤로 만들었습니다.
탭이 있는 메인다이얼로그
탭1 다이얼로그 : 리스트박스
탭2 다이얼로그 : 트리컨트롤..?

이렇게 구성해놓고 만들고 있습니다.

경로부터 어떻게 받아와야 할지 모르겠습니다.
경로를 받아오고 그 경로데이터로 트리컨트롤을 만들고
조작해서 메세지받아가지고 해야된다고 생각했는데
경로를...

::SHBrowseForFolder(&BrlInfo) 이용해서 버튼누르면 경로설정 하는건 가능합니다.
다만 새 창으로 뜨기때문에...

그냥 경로설정하는건 아무리 검색해봐도 이해가 안가서
할줄아는 ::SHBrowseForFolder(&BrlInfo)를 이용해보자 싶었습니다.

지금 두가지방법을 시도해봤는데
1) ::SHBrowseForFolder(&BrlInfo)를 탭안(탭2 다이얼로그)에 넣기
2) ::SHBrowseForFolder(&BrlInfo)로 경로만 받아오고 트리컨트롤 구성

결과적으론 둘다 실패했습니다..
1) ::SHBrowseForFolder(&BrlInfo)를 탭안에 넣는것은
BROWSEINFO 구조체를 설정할때 .hwndOwner에 부모윈도우(이 경우 메인다이얼로그 맞나요?) 핸들을 넣으면
될거라고 생각했는데 안되더라구요...

2) ::SHBrowseForFolder(&BrlInfo)로 첫 경로만 받아오고 트리컨트롤 구성하는건
그냥 구현방식이 감이 안잡혀서 이리저리 치이다가 실패했습니다..



제가 도움받고싶은건
1. 탐색기를 구현할때 꼭 트리컨트롤로 구현해야하는지?
(::SHBrowseForFolder(&BrlInfo)를 탭컨트롤 안에 자식윈도우로 띄울순 없는지?)

2. 1이 안된다면 경로를 받아와 트리컨트롤 구성하여 탐색기를 만들어야 하는데 어느쪽으로 가닥을 잡아야 하는지..

+ 지금 ::SHBrowseForFolder(&BrlInfo)가 메인다이얼로그 OnInitDialog에 들어가있습니다.
처음 실행하면 바로뜨더라구요.
질문글 작성하다가 혹시 싶어서 시도해본것이
::SHBrowseForFolder(&BrlInfo)를 
탭이 들어가있는 메인 다이얼로그에 탭1다이얼로그 탭2다이얼로그를 넣었는데
탭다이얼로그의 OnInitDialog나 ShowWindow,  DoModal(이거는 모달형식이라 아니겠지만 혹시나해서) 아무 메세지도 못받더라구요.
어떠한 방법을 써서 별도로 메세지를 넘겨주어야 되나요?

+자꾸 추가되서 죄송합니다만
~~Dlg::DoModal()함수의 리턴이 왜 return CDialog::DoModal()인가요?
재귀함수형식 아닌가요?



아직 초보라 객체지향 개념도 안잡힌것 같습니다.
멍청한놈 구제해주는셈 치고 도와주세요 ㅠㅠㅠ
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호