수다닷컴

  • 해외여행
    • 괌
    • 태국
    • 유럽
    • 일본
    • 필리핀
    • 미국
    • 중국
    • 기타여행
    • 싱가폴
  • 건강
    • 다이어트
    • 당뇨
    • 헬스
    • 건강음식
    • 건강기타
  • 컴퓨터
    • 프로그램 개발일반
    • C언어
    • 비주얼베이직
  • 결혼생활
    • 출산/육아
    • 결혼준비
    • 엄마이야기방
  • 일상생활
    • 면접
    • 취업
    • 진로선택
  • 교육
    • 교육일반
    • 아이교육
    • 토익
    • 해외연수
    • 영어
  • 취미생활
    • 음악
    • 자전거
    • 수영
    • 바이크
    • 축구
  • 기타
    • 강아지
    • 제주도여행
    • 국내여행
    • 기타일상
    • 애플
    • 휴대폰관련
  • 프로그램 개발일반
  • C언어
  • 비주얼베이직

CListView 관련 질문입니다.

세실

2023.04.01

제가 전체적으로 만들고자 하는 Output을 간단하게 말씀드리자면,
트리 컨트롤에서 어떠한 특정 값을 선택했을시에, 리스트의 목록을 다르게 뿌려주고 싶습니다,
그래서 뿌려진 리스트 값에는 속성메뉴와 값메뉴를 가지게 되는데, 이중 값메뉴는 에디트 클래스를 사용해서
값이 수정 가능하도록 하였습니다.

처음에 mfc 파일을 만들때 single Document 로 base class 를 CListView로 만든다음,
나머지 뷰를 추가해주기 위해서 클래스위자드에서 New class에서 각각 CEditView 와, 미리 생성해뒀던,
IDD_DIALOG1의 아이디를 가지는 다일로그의 클래스를 base class를 CFormView 로 생성했습니다.
--------------------------------------------------------------------------------------------------------------------
다중뷰(Edit View, List View, FormView)를 사용하여
Edit View- 결과값 출력을 위해 사용 (CtestEdit) //현재 Edit View 클래스 부분의 동작은 코딩안한 상태입니다.
List View - 리스트 컨트롤러를 사용하기 위해 (CGtestView)
FormView- 다일로그 생성후 트리컨트롤러를 추가시킨 다음, 해당 클래스를 formView기반으로 만듬,,(Ctreetest)
--------------------------------------------------------------------------------------------------------------------
그래서 Ctreetest 클래스에서 우선 트리컨트롤에서 특정값을 클릭하게 되면 m_mode 란 변수에 해당 정수값을 넣었습니다.
그리고 다음에 CtestView 클래스에서 Ctreetest 클래스의 포인터를 받아 저장된 정수값을 CtestView 클래스의 m_treeMode란
변수에 다시 저장해서 이 값이 0,1,2,3,4 인경우로 각각나눠서 해당 리스트 목록을 뿌릴려고 합니다.
그런데 해당 값은 받아와서 포인터를 받는 부분은 크게 문제가 되질 않는데,
기존에 한번 뿌렸던 리스트목록 다음에 다른 리스트 목록을 뿌리고자 했을때,
이전에 있던 리스트 목록이 지워지질 않고,
계속존재하는채로 리스트 옆에 또다른 리스트가 생성되어서 클릭한 갯수만큼 무한대로 계속적으로 리스트 틀이 생성됩니다.
그래서 Ondraw() 함수를 사용하여 클리어 시키고자 하는데,

각각의 뷰들은 하나의 도큐먼트에서 UpdateAllViews(NULL); 를 사용하여 각각의 뷰에 OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint) 를 함수를 통해서 계속적으로 업데이트 시키고자 합니다,,
그런데 리스트 컨트롤러를 사용하기 위해 만든 ListView 기반의 뷰를 이용할시에 Ondraw() 함수를 호출하지 못합니다,,
원래 ListView 기반은 Ondraw() 함수를 호출하지 못한것인지,
아니면 코드상 문제가 있어서 부르지를 못하는것인지 잘모르겠습니다.
혹시나 ListView 가 Ondraw() 를 호출 못하는건가 싶어서, 도큐먼트나, MainFrame 에서 뷰 포인트를 받아와서
포인트로 Invalidate()를 부르는 식으로 해보았으나, 역시 불러오질 못했습니다,,

그래서 정리를 하자면,
1, ListView 기반에서는 Ondraw() 함수를 호출할수 없는지
2. 만약에 호출할수 없다면 ListView의 화면을 지우는 방법에는 어떤것이 있는지 궁금합니다.
찾아본바로는, 어떤 개발자가 ListView기반에서는 Ondraw() 함수를 호출하지 못한다고 설명해놨던데,,그게확실한 사실같지
않아서 이렇게 문의드린답니다 ㅠ_ㅠ,, 꼭좀 도와주세요..

신청하기





COMMENT

댓글을 입력해주세요. 비속어와 욕설은 삼가해주세요.

  • 천칭자리

    예, 이전의 리스트를 불러올떈 수정했던 에디트값이 남아있지않는 아쉬운점이 있지만 ^^ 감사합니다!

  • 츠키

    훔 ListView에서 이전 목록을 지울때는 보통 OnUpdate에서 처음에 요렇게 했는데요:

    CListCtrl &list = GetListCtrl();
    list.DeleteAllItems();

번호 제 목 글쓴이 날짜
2699354 영문 웹폰트 관련 질문입니다!!! (1) 치킨마루 2025-06-25
2699329 윈도우 미디어 플레이어 URL 질문!!! (1) 제철 2025-06-25
2699296 동영상 배경 질문드려요!!!!!!!!!!!!!! 핫파랑 2025-06-24
2699214 position:fixed 에 대한 질문입니다.. (7) 사이 2025-06-24
2699183 제이쿼리 이미지 슬라이드 위치값 수정 초엘 2025-06-23
2699153 테마[ADORABLE]에서 페이지생성시 하위페이지는 2개밖에 안되나요? 흰여울 2025-06-23
2699129 네이버 블로그 또는 사이트의 글을 불러오기 갤원 2025-06-23
2699070 탭메뉴처럼 셀렉트 박스를 이용해서 내용을 출력할 수 있는 방법이 있을까요. (3) 큰꽃늘 2025-06-22
2699016 인터넷이 안되는 환경에서 validator설치방법 (3) 은송이 2025-06-22
2698988 대체 C++ 6.0 exe 아이콘은 어떻게 넣는건가요? 외국녀 2025-06-22
2698960 음성파일을 embed로 작업했는데..웹 표준코딩으로 변경하려면 어떻게 해야하나요? (1) 잎새 2025-06-21
2698932 메뉴목록 풍선창 만들기 html (2) 하늘이 2025-06-21
2698901 http://www.zeitgeistbot.com/ 이 사이트처럼 움직이는 효과를 무엇이라고 하나요? 누림 2025-06-21
2698876 table width값 크로스브라우징에 대한 문의 (2) 볼수록매력 2025-06-21
2698849 c언어 질문. (3) 아름나 2025-06-20
2698823 setInterval 이벤트 제거 하려면... 가온길 2025-06-20
2698796 이 오류를 이해를 못하겠어요 Addicted 2025-06-20
2698712 IF 문 이 계속 오류가 나요 (2) 옆집오빠야 2025-06-19
2698687 이미지를 클릭하면 그 이미지를 다운받게해주는 방법 질문요 ^^ (미해결) (5) 해지개 2025-06-19
2698663 상속하면 자꾸 class 이름이 애러가 나네요 (2) 미련곰탱이 2025-06-19
<<  이전  1 2 3 4 5 6 7 8 9 10  다음  >>

수다닷컴 | 여러분과 함께하는 수다토크 커뮤니티 수다닷컴에 오신것을 환영합니다.
사업자등록번호 : 117-07-92748 상호 : 진달래여행사 대표자 : 명현재 서울시 강서구 방화동 890번지 푸르지오 107동 306호
copyright 2011 게시글 삭제 및 기타 문의 : clairacademy@naver.com