Conteneurs : notifications d'élément client
Cet article explique les fonctionnalités substituables que l'infrastructure MFC appelle lorsque les applications serveur modifient les éléments du document de votre application cliente.
COleClientItem définit plusieurs fonctions substituables qui sont appelées en réponse à les demandes de l'application du composant, également appelée l'application serveur.Ces overridables agissent généralement comme notifications.Elles informent l'application conteneur divers événements, tels que le défilement, l'activation, ou une modification de la position, et les modifications que l'utilisateur fait en modifiant ou manipulez sinon l'élément.
L'infrastructure informe votre application conteneur des modifications via un appel à COleClientItem::OnChange, une fonction substituable dont l'implémentation est requise.Cette fonction protégée accepte deux arguments.Le premier spécifie la raison que le serveur a modifié l'élément :
Notification |
Signification |
---|---|
OLE_CHANGED |
OLE apparence de l'élément 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 renommé. |
OLE_CHANGED_STATE |
L'élément OLE a changé d'un état à un autre. |
OLE_CHANGED_ASPECT |
Le OLE aspect de dessin de l'élément a été modifié par l'infrastructure. |
Ces valeurs sont de l'énumération d' OLE_NOTIFICATION , qui est définie dans AFXOLE.H.
Le deuxième argument à cette fonction spécifie comment l'élément a changé ou quel état il a entré :
Lorsque le premier argument est |
Deuxième argument |
---|---|
OLE_SAVED ou OLE_CLOSED |
n'est pas utilisé. |
OLE_CHANGED |
Spécifie l'aspect du élément OLE qui a changé. |
OLE_CHANGED_STATE |
Décrit l'état qui est entré (emptyState, loadedState, openState, activeState, ou activeUIState). |
Pour plus d'informations sur les états qu'un élément client peut prendre, consultez conteneurs : états d'élément client.
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 assigne les détails de l'élément à l'objet d' CRect passé comme argument à OnGetItemPosition.
Si la notion de position ou la taille d'un élément change pendant la modification sur place, les informations du conteneur sur la position de l'élément et des rectangles de découpage doivent être mis à jour et le serveur doit recevoir des informations sur les modifications.l'infrastructure appelle COleClientItem::OnChangeItemPosition à cet effet.L'Assistant Application MFC fournit une substitution qui appelle la fonction de classe de base.Vous devez modifier la fonction générée par l'Assistant Application écrit pour votre COleClientItemclasse dérivée afin que la fonction ne mette à jour toutes les informations conservées par votre objet d'élément client.
Voir aussi
Référence
COleClientItem::OnChangeItemPosition