Gestion des messages WndProc dans WPF : Explorer des techniques alternatives
Dans Windows Forms, la substitution de WndProc fournit un chemin de traitement direct des messages. La conversion de cette fonctionnalité en WPF nécessite une approche différente.
Espace de noms System.Windows.Interop
WPF introduit l'espace de noms System.Windows.Interop, qui contient la classe HwndSource. Cette classe permet d'interagir avec les messages Windows natifs.
Exemple de mise en œuvre
Créez une application WPF et utilisez HwndSource pour implémenter un traitement de message personnalisé :
<code class="language-csharp">using System; using System.Windows; using System.Windows.Interop; namespace WpfApplication1 { public partial class Window1 : Window { 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>
Remerciements des ressources
Cet exemple est inspiré du billet de blog de Steve Rands : "Utilisation d'un WndProc personnalisé dans une application WPF".
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!