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); } |
'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 |
댓글