>  기사  >  백엔드 개발  >  C# 프로그래머가 WinForm 개발 시 꼭 알아야 할 Window 메시지의 샘플 코드에 대한 자세한 설명

C# 프로그래머가 WinForm 개발 시 꼭 알아야 할 Window 메시지의 샘플 코드에 대한 자세한 설명

黄舟
黄舟원래의
2017-03-13 17:50:171971검색

다음 내용이 C++에서만 사용된다고 생각하지 마세요!

메시지는 Windows에서 어떤 일이 발생했음을 애플리케이션에 알리기 위해 보내는 알림을 의미합니다. 예를 들어, 마우스를 클릭하고 창 크기를 변경하고 키보드의 키를 누르면 Windows가 응용 프로그램에 메시지를 보냅니다.
메시지 자체는 메시지 유형과 기타 정보가 포함된 기록으로 애플리케이션에 전달됩니다. 예를 들어, 마우스 클릭으로 생성된 메시지의 경우 이 레코드에는 마우스 클릭 좌표가 포함됩니다. 이 레코드 유형을 TMsg라고 하며 Windows 단위에서 다음과 같이 선언됩니다.

type 
TMsg = packed record 
hwnd: HWND; //窗口句柄 
message: UINT;//消息常量标识符 
wParam: WPARAM ;// 32位消息的特定附加信息 
lParam: LPARAM ;// 32位消息的特定附加信息 
time: DWORD;//消息创建时的时间 
pt: TPoint; //消息创建时的鼠标位置 
end ;

메시지에는 무엇이 있나요?
메시지 기록의 정보가 그리스어처럼 들린다고 생각하시나요? 그렇다면 다음 설명을 살펴보십시오. hwnd 32비트 창 핸들. Win32는 대부분의 시각적 개체(창, 대화 상자, 버튼, 편집 상자 등)에 대한 핸들을 유지할 수 있으므로 창은 모든 유형의 화면 개체가 될 수 있습니다. message는 다른 메시지를 구별하기 위해 사용되는 상수 값입니다. 이러한 상수는 Windows 단위로 미리 정의된 상수일 수도 있고 사용자 정의 상수일 수도 있습니다. wParam은 일반적으로 메시지와 관련된 상수 값이거나 창이나 컨트롤의 핸들일 수 있습니다.
lParam은 일반적으로 메모리의 데이터에 대한 포인터입니다. WParam, lParam, Pointer는 모두 32비트이므로 서로 변환이 가능합니다.
아아아아

위 내용은 C# 프로그래머가 WinForm 개발 시 꼭 알아야 할 Window 메시지의 샘플 코드에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.