Partager via


Conteneurs : notifications Client-Item

Cet article décrit les fonctions substituables que l’infrastructure MFC appelle lorsque les applications serveur modifient des éléments dans le document de votre application cliente.

COleClientItem définit plusieurs fonctions substituables appelées en réponse aux demandes de l’application de composant, également appelées application serveur. Ces substituables agissent généralement en tant que notifications. Ils informent l’application conteneur de différents événements, tels que le défilement, l’activation ou un changement de position, et des modifications apportées par l’utilisateur lors de la modification ou de la manipulation de l’élément.

L’infrastructure informe votre application conteneur des modifications par le biais d’un appel à COleClientItem::OnChange, fonction substituable dont l’implémentation est requise. Cette fonction protégée reçoit deux arguments. Le premier spécifie la raison pour laquelle le serveur a modifié l’élément :

Notification Sens
OLE_CHANGED L’apparence de l’élément OLE a changé.
OLE_SAVED L’élément OLE a été enregistré.
OLE_CLOSED L’élément OLE a été fermé.
OLE_RENAMED Le document serveur contenant l’élément OLE a été renommé.
OLE_CHANGED_STATE L’élément OLE a changé d’un état à un autre.
OLE_CHANGED_ASPECT L’aspect de dessin de l’élément OLE a été modifié par l’infrastructure.

Ces valeurs proviennent de l’énumération OLE_NOTIFICATION , qui est définie dans AFXOLE.H.

Le deuxième argument de cette fonction spécifie comment l’élément a changé ou quel état il a entré :

Quand le premier argument est Deuxième argument
OLE_SAVED ou OLE_CLOSED N’est pas utilisé.
OLE_CHANGED Spécifie l’aspect de l’élément OLE qui a changé.
OLE_CHANGED_STATE Décrit l’état entré (emptyState, loadedState, openState, activeState ou activeUIState).

Pour plus d’informations sur les états qu’un élément client peut supposer, consultez Conteneurs : Client-Item États.

L’infrastructure appelle COleClientItem::OnGetItemPosition lorsqu’un élément est activé pour la modification sur place. L’implémentation est requise pour les applications qui prennent en charge la modification sur place. L’Assistant Application MFC fournit une implémentation de base, qui affecte les coordonnées de l’élément à l’objet CRect passé en tant qu’argument à OnGetItemPosition.

Si la position ou la taille d’un élément OLE change pendant la modification sur place, les informations du conteneur sur la position et les rectangles de découpage de l’élément doivent être mises à jour et le serveur doit recevoir des informations sur les modifications. Le framework appelle COleClientItem::OnChangeItemPosition à cet effet. L’Assistant Application MFC fournit un remplacement qui appelle la fonction de la classe de base. Vous devez modifier la fonction que l’Assistant Application écrit pour votre COleClientItemclasse dérivée afin que la fonction met à jour toutes les informations conservées par votre objet client-élément.

Voir aussi

conteneurs
Conteneurs : états de Client-Item
COleClientItem ::OnChangeItemPosition