델파이 postmessage 예제

wParam 및 lParam 멤버는 정수 데이터를 전달하는 데 이상적으로 적합하지만 개체를 전달하는 데 에도 사용할 수 있습니다. 아주 똑바로 앞으로. 이 참고 사항은 Microsoft Windows 플랫폼에서 실행되는 델파이에 적용됩니다. 메시지는 Windows에서 응용 프로그램에 보낸 일부 발생에 대한 알림입니다. 예를 들어, 마우스 단추를 클릭하거나, 창 크기를 조정하거나, 키보드의 키를 누르면 Windows에서 발생한 일을 알리는 메시지를 응용 프로그램에 보냅니다. Delphi 애플리케이션 프로그래머는 VCL이 제공하는 이벤트가 대부분의 요구 사항에 적합하다는 것을 알게 될 것입니다. 가끔씩만 Win32 메시지 처리의 세계를 탐구해야 합니다. 그러나 Delphi 구성 요소 개발자는 많은 Windows 메시지를 직접 처리한 다음 해당 메시지에 해당하는 이벤트를 호출해야 하기 때문에 여러분과 메시지는 매우 좋은 친구가 될 것입니다. 하지만 물론 당신은 또한 자신을 위해이 프로그램을 할 수 있습니다., 그리고 델파이 전에 델파이 버전에 대 한 해야 합니다 2007.

나는 단순히 수년에 걸쳐 진화하고 수십 개의 프로그램에서 작동하는 내부 라이브러리에서 몇 가지 조각을 추가 할 것입니다. 나는 버그가 없다고 주장하지 않습니다. 코드와 비교할 수 있으며, 문제가 발생하면 언제든지 물어보고 명확히 하려고 노력할 것입니다. 예를 들어, 폼이 위에서 정의한 메시지 중 하나를 자체적으로 보내려면 Mghie가 언급했듯이 메시지 처리 루프가 필요합니다. 이것이 바로 PeekMessage가 메시지를 올바르게 반환하는 이유입니다. 메시지가 없는 것이 아니라 메시지를 처리하지 않는 것입니다. 표준 응용 프로그램에서 Delphi는 TApplication 클래스를 만들고 Application.Run을 호출합니다. 일반 앱의 메시지 처리 루프입니다.

그것은 기본적으로 구성: 이 노트는 델파이에 대 한 올바른 것으로 추정 된다 6 그리고 델파이 7 마이크로소프트 윈도우에서 실행. 메시지는 Windows에서 응용 프로그램에 전달된 레코드로 나타납니다. 이 레코드에는 발생한 이벤트 유형 및 메시지와 관련된 추가 정보와 같은 정보가 포함됩니다. 예를 들어 마우스 단추 클릭 메시지의 메시지 레코드에는 단추를 누를 때의 마우스 좌표가 포함됩니다. Windows에서 응용 프로그램으로 전달되는 레코드 유형을 다음 코드와 같이 Windows 장치에 정의된 TMsg라고 합니다.