Propriétés d’annotation qui ont des WinEvents correspondants

Soyez prudent lors du remplacement des propriétés qui changent fréquemment, en particulier celles qui sont examinées par les clients à la suite d’un WinEvent (par exemple, State, valueet, pour certains contrôles, les propriétés Name ).

Dans de nombreux cas, en particulier pour les contrôles utilisateur et ComCtl, le WinEvent signalant une modification de propriété est envoyé avant que le propriétaire du contrôle soit notifié (généralement via la _ notification WM). La mise à jour de la propriété à l’aide de SetPropValue dans le _ Gestionnaire WM Notify sera trop tardive ; les clients utilisant le raccordement in-context auront déjà accédé à l’ancienne valeur.

Vous pouvez gérer ces types de propriétés à l’aide d’objets de serveur de rappel (à l’aide de SetPropServer); Toutefois, le serveur ne peut pas utiliser un État mis à jour dans le _ Gestionnaire WM Notify, car ce gestionnaire n’a pas encore été appelé. Par exemple, au lieu d’utiliser une variable de valeur actuelle mise en cache qui est mise à jour dans le _ Gestionnaire WM Notify et qui est obsolète, l’objet de rappel IAccPropServer :: GetPropValue doit envoyer un message directement au contrôle pour obtenir sa vraie valeur actuelle afin de générer la propriété requise.