본문 바로가기
  • 읽고보고쓰고
PROGRAMMING/C#

Windows Message override하기

by 체리그루브 2012. 2. 22.
728x90

C#에서는 Windows Message를 모두 내부적으로 감추고 Message Handler를 노출시키지 않지만, 상황에 따라 Windows Message를 직접 다루어야 하는 경우가 발생할 수 있다. C#은 이를 위하여 System.Windows.Forms Class에 몇가지 override 함수를 제공한다.

 

— WndProc

Forms Class에는 Windows Procedure를 Override 함수로 제공한다. 이를 Override하여 임의의 Windows Message를 처리하는 Windows Procedure를 생성할 수 있다.

 

아래의 예는 WM_COMMAND Message를 처리하는 예이다.

 

 

private const int WM_COMMAND = 273;

 

protected override void WndProc(ref Message m)

{

    if(m.Msg == WM_COMMAND)

    {

       short wParam = (short)m.WParam;

       switch(wParam)

       {

          case GisLink.ID_GL_SPOTCASEPOS:

        RcvSpotCasePos();

        break;

          case GisLink.ID_GL_CHGCASEPOS:

        RcvChgCasePos();

        break;

          default:

        break;

       }

    }

 

    base.WndProc (ref m);

}

 

출처 : http://rainiac.com/lecture/CS/CS_WindowsMessage.htm

728x90

'PROGRAMMING > C#' 카테고리의 다른 글

CS CustomControl Part1  (0) 2012.02.22
Delegate & Event  (0) 2012.02.22
문자열에서 확장자 없애기 - C#  (0) 2012.02.13
문자열이 숫자 값을 나태는지 확인  (0) 2012.02.13
부모 컨트롤 제어하기 C#  (0) 2012.02.10

댓글