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
[49847] Re:Re:메세지 주고 받기..
볼랜드 어렵네요 ㅠㅠ [] 1306 읽음    2007-07-10 11:21
감사 합니다...
방안 1을 해보았는데.. Test는 잘됬습니다. ^^
방안 2는.. Cannot convert 'void[_fastcall *[_closure][TMessage *]..... 에러 나네용.. ㅠㅠ
방안 3은 않해봤어요.. 방안 1이 되서요 ^^

댓글 감사 합니다. 즐거운 하루 보네세요..

장성호 님이 쓰신 글 :
: [문제원인]
: 메세지 수신하는쪽에서요...
:
: void __fastcall TForm1::WndProc(Messages::TMessage *Message)
: 그냥 위와같이 함수 선언해 둔다고 해서 WindowMessage가 저쪽으로 들어오지 않습니다.
: 디버그 모드로 run한후에 Editer를 보세요
: 아마 한번이라도 함수를 타게되면 에디터 왼쪽에 쩜이 찍히는데...
: WndProc 함수는 찍혀있지 않을꺼예요
:
:
: [해결방법]
:
: 방안1. Dispatch를 쓰던지 ...
: virtual void __fastcall Dispatch(void *Message);
: http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_tip&no=542
:
:
:
: 방안2. 아니면 SubClassing 하는방법도 있구요
:
: TWndMethod OrgWinProc;
: void __fastcall TForm1::FormCreate(TObject *Sender)
: {
:     OrgWinProc=this->WindowProc;
:     this->WindowProc=WndProc2;
: }
: //---------------------------------------------------------------------------
:
: void __fastcall TForm1::WndProc2(Messages::TMessage &Message)
: {
:     OrgWinProc(Message);
:    if( Message.WParam == 100 )
:        ShowMessage("!");
: }
: //---------------------------------------------------------------------------
:
: 방안3. 메세지 맵을 쓰셔도 됩니다.
:
: *.h
: void __fastcall TForm1::ShowMessageProc(TMessage& Msg);
:
:   BEGIN_MESSAGE_MAP
:         VCL_MESSAGE_HANDLER(WM_USER + 1234, TMessage, ShowMessageProc)
:   END_MESSAGE_MAP(TForm);
:
:
: *.cpp
: void __fastcall TForm1::ShowMessageProc(TMessage& Msg)
: {
:        if( Msg.WParam == 100 )
:              ShowMessage("!");
: }
: .....
:
: 그럼....
:
:
:
: 볼랜드 어렵네요 ㅠㅠ 님이 쓰신 글 :
: : 한개의 폼(exe)에다 이렇게 정의 해놓쿠..
: : void __fastcall TForm1::WndProc(Messages::TMessage *Message)
: : {
: : //
: :    if( Message->WParam == 100 )
: :        ShowMessage("!");
: : }
: :
: :
: : 다른 폼(exe)에다가 이렇게 정의 했습니다.
: : #define WM_USER_SHOWMSG WM_USER + 1234
: :
: :     HWND hWND = NULL;
: :     hWND = FindWindow( 0, "Show");
: :
: :     if( hWND  != NULL )
: :     {
: :         PostMessage( hWND, WM_USER_SHOWMSG, 100, 0 );
: :     }
: :
: : 왜 않되는지 좀 알려주세요...
: : 인터넷 뒤지다가 나름 이해한 다음에 한건데..

+ -

관련 글 리스트
49845 메세지 주고 받기.. 볼랜드 어렵네요 ㅠㅠ 1216 2007/07/10
49846     Re:메세지 주고 받기.. 장성호 1479 2007/07/10
49847         Re:Re:메세지 주고 받기.. 볼랜드 어렵네요 ㅠㅠ 1306 2007/07/10
49848             Re:Re:Re:메세지 주고 받기.. 장성호 1920 2007/07/10
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.