Q&A

  • WndProc 프로시져의 이해?
안녕하세요..



WndProc 프로시져가 어떤것인지

알려 주세요...

어떤일을 하는지

그리고 언제 어떻게 사용하는지 알고 싶습니다..



그럼 좋은 하루 되세요.



1  COMMENTS
  • Profile
    김진호 2000.09.15 02:46
    문진현 wrote:

    > 안녕하세요..

    >

    > WndProc 프로시져가 어떤것인지

    > 알려 주세요...

    > 어떤일을 하는지

    > 그리고 언제 어떻게 사용하는지 알고 싶습니다..

    >

    > 그럼 좋은 하루 되세요.

    >



    WndProc는 상당히 많은 일을 하는 콜백 함수 입니다..

    순수하게 Win32로 프로그래밍을 한다면

    WndProc는 모든 메세지를 담담 하겠죠..



    다음은 함수의 원형 입니다.



    function WindowProc(h_Wnd: HWND; aMSG: Cardinal; wParam: Cardinal; lParam: Integer) : Integer; stdcall;

    begin

    case aMSG of

    WM_ACTIVATE:

    WM_DESTROY:

    WM_KEYDOWN:

    WM_SETCURSOR:

    end;

    Result := DefWindowProc(h_Wnd, aMSG, wParam, lParam);

    end;



    델파이 에서는 일정한 메세지(이벤트) 외에는 받을 수가 없습니다..

    그땐 WndProc를 써야 하겠죠..



    //선언

    protected

    procedure WndProc(var Message: TMessage); override;



    procedure TForm1.WndProc(var Message: TMessage);

    begin

    case Message.Msg of

    WM_TIMER : case Message.WParam of

    1 : begin

    //무언가 일을 한다..

    end;

    end;

    USR_TIMER_ELAPSED : //무언가 일은 한다;

    end;



    inherited WndProc(Message);

    end;