C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[40775] Re:WndProc과 MessageMap에서요
evergreen [] 1823 읽음    2005-06-28 00:37
안녕하세요. heredity입니다.

질문 내용 중간 중간에 본인의 사견(?)을 남깁니다. 참조하세요.

    공윤경 님이 쓰신 글 :
    : 메세지에서 WM_USER+1을 사용하고있지만, 문제가 있으므로 수정해주세요
    : (헤더의 BEGINMESSAGE_MAP과 Post Messge등)
    : 이것은 고정의 값을정하였을때 사용하는것이므로 , 같은 식의 코딩을 한 다른 소프트웨어가 있으면,
    : 오동작 하는 원인이 됩니다.

WM_USER + xxx는 원도 핸들로 구분되므로 일반적으론 메시지가 충돌되는 일은 발생하지 않습니다.
다만 WM_USER + xxx를 사용하는 커먼 컨트롤 등(VCL source중 ComCtrls.PAS 참조)를
상속 받는다면 이 메시지는 충돌 위험성이 높습니다.
또한 RegisterWindowMessage()를 이용하는 방법도 비슷한 값을 자주 사용하는
사람의 습성을 RegisterWindowMessage()에 적용하면 자신이 만든 App.에선
충돌 가능성이 없다고 말할 수 없을 것 같습니다.
하지만 WM_USER을 직접 쓰는 것 보단 좋아 보이는 군요.


    : BEGIN_MESSAGE_MAP을 그만사용해주세요.
    : WndProc을 사용해 처리해주세요.

WndProc가 MessageMap를 사용하는 것 보다 실행 속도 면에선 유리합니다.
다만 이렇게 하는 경우 가독성이 나빠지므로 갠적으로 MessageMap을
사용할 것을 권장하고 싶습니다.

하지만 중요한 것은 아무리 좋은 방향이라도 Owner나 Manager가 이와는 다른
방향의 요구 한다면.... 어쩌겠어요. 힘없는 자의 설움인데...

    : RegisterWindowMessage를 사용하는 부분도 참고해주세요
    : ---------------------------------------------------------------------------------------
    :
              :
              :
             생략
              :
              :
    : 너무너무 답답하게 질문을 했는데 정말..제가 설명할수있는게 여기까지거든요 ㅠㅠ
    : 죄송합니다.
    : 그리고 부탁드려요.

행복하세요.

+ -

관련 글 리스트
40754 WndProc과 MessageMap에서요 공윤경 1693 2005/06/27
40775     Re:WndProc과 MessageMap에서요 evergreen 1823 2005/06/28
40776         Re:Re:WndProc과 MessageMap에서요 evergreen 1505 2005/06/28
40782             Re:Re:Re:WndProc과 MessageMap에서요 공윤경 1133 2005/06/28
40758     Re:WndProc과 MessageMap에서요 신동승,無敵 2330 2005/06/27
40781         Re:Re:WndProc과 MessageMap에서요 1021 2005/06/28
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.