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
[25297] [자답] SendMessage()를 이용하면 됩니다...
cloudia [] 1107 읽음    2003-04-21 12:02
ㅠㅠ 정말... 바보같았네요
다음처럼 만든다음에...

protected:
    BEGIN_MESSAGE_MAP
        VCL_MESSAGE_HANDLER(WM_OPENMSGFORM, TMessage, ShowMsg)
    END_MESSAGE_MAP(TForm);

    ShowMsg(TMessage& Msg);


OnGetMsg(PPDSMSG pMsg)
{
...
SendMessage(MainForm->Handle, 0, 0, (LPARAM)pMsg);

}

저렇게 해주면 되는군요... ㅠㅠ 으흑

왜 윈도 프로시저가 동작하지 않는지는 아직도 원인 불명이지만요...

좀더 내공이 쌓이기를... 내공....내공


cloudia 님이 쓰신 글 :
: 안녕하세요... 매번 도움만 받고 가네요...
:
: 이틀동안 정말 미스테리어스한 문제 때문에 골치를 썪고 있습니다.
:
: 폼 클래스 내의 멤버함수가 아닌 일반 함수에서 동적으로 폼을 생성했을때
:
: 윈도 프로시저가 생성된 폼에 제대로 물리지 않는 문제거든요...
:
: 예를 들어 이런 코드입니다.
:
: void OnGetMsg(PPDSMSG pMsg)
: {
:     TMsgForm* NewMsgForm = new TMsgForm(NULL);
:     NewMsgForm->Show();
: }
:
: OnGetMsg 라는 함수는 통신 모듈에서 쓰이는 이벤트 핸들러 함수로... 함수 포인터를 넘겨줘야 하는 문제로 클래스의 멤버 함수로 선언할 수 없더라구요...
: 아무튼 위의 코드로 실행하면, 메세지 도착 이벤트 패킷이 전달되었을 때 메세지 폼이 화면 상에 뜨지만 마우스 입력을 받지 못합니다.
: spy++로 조사해 보면 '윈도 프로시저: [사용할 수 없음]'이라고 나옵니다.
:
: 그런데 위의 기능을 폼 위에 올려놓은 버튼을 클릭했을 때 처리되도록 멤버함수로 만들면 폼이 제대로 동작합니다. 바로 아래 코드입니다.
:
: void __fastcall TMainForm::Button1Click(TObject* Sender)
: {
:     TMsgForm* NewMsgForm = new TMsgForm(NULL);
:     NewMsgForm->Show();
: }
:
: 혹시나 해서 폼을 통해 간접 호출을 해보았습니다.
:
: void OnGetMsg(PPDSMSG pMsg)
: {
:     MainForm->Button1Click(NULL);
: }
:
: 이렇게 간접 호출을 해도... 처음 결과와 마찬가지로 폼의 윈도 프로시저가 제대로 동작하지 않습니다.
:
: 정말 어떻게 해결해야 되나요... 복잡한 문제라 어떻게 검색해야 할 지도 모르겠고...
:
: 정말 쓸데없는 문제 때문에 시간만 축내고 있으니 답답할 따름입니다...
:
: 제발 답변을 부탁드립니다.
:
:
:

+ -

관련 글 리스트
25246 일반 함수에서 동적으로 생성한 폼에서 메세지를 받아들이지 못합니다... cloudia 716 2003/04/17
32334     Re:일반 함수에서 동적으로 생성한 폼에서 메세지를 받아들이지 못합니다... Julien 672 2003/04/17
32333     Re:일반 함수에서 동적으로 생성한 폼에서 메세지를 받아들이지 못합니다... cloudia 657 2003/04/17
32332     Re:일반 함수에서 동적으로 생성한 폼에서 메세지를 받아들이지 못합니다... 정성훈.해미 676 2003/04/17
32331     Re:일반 함수에서 동적으로 생성한 폼에서 메세지를 받아들이지 못합니다... 정성훈.해미 700 2003/04/17
25297     [자답] SendMessage()를 이용하면 됩니다... cloudia 1107 2003/04/21
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.