WPF에서 WndProc 메시지 처리
Windows Forms에서 WndProc 메시지 처리는 간단한 프로세스입니다. 그러나 WPF에서는 접근 방식이 약간 다릅니다.
HwndSource 클래스 사용
WPF는 HwndSource 클래스가 포함된 System.Windows.Interop 네임스페이스를 제공합니다. 이 클래스를 사용하면 WndProc 메시지를 가로채고 처리할 수 있습니다.
구현예
다음 코드 조각은 HwndSource 클래스를 사용하여 WPF에서 WndProc 메시지를 처리하는 예를 제공합니다.
<code class="language-c#">using System; using System.Windows; using System.Windows.Interop; namespace WpfApplication1 { public partial class Window1 : Window { public Window1() { InitializeComponent(); } protected override void OnSourceInitialized(EventArgs e) { base.OnSourceInitialized(e); HwndSource source = PresentationSource.FromVisual(this) as HwndSource; source.AddHook(WndProc); } private IntPtr WndProc(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled) { // 在此处处理消息... return IntPtr.Zero; } } }</code>
이 예에서는:
추가 정보
이 기술에 대한 자세한 설명은 WPF 애플리케이션에서 사용자 정의 WndProc 사용에 대한 Steve Rands의 뛰어난 블로그 게시물을 참조하세요.
위 내용은 WPF에서 WndProc 메시지를 어떻게 처리합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!