WPF での WndProc メッセージの処理
Windows フォームでは、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 中国語 Web サイトの他の関連記事を参照してください。