Partager via


Conteneurs : états de Client-Item

Cet article explique les différents états qu’un élément client passe dans sa durée de vie.

Un élément client passe par plusieurs états lors de sa création, de son activation, de sa modification et de son enregistrement. Chaque fois que l’état de l’élément change, l’infrastructure appelle COleClientItem ::OnChange avec la notification OLE_CHANGED_STATE . Le deuxième paramètre est une valeur de l’énumération COleClientItem::ItemState . Les valeurs possibles sont les suivantes :

  • COleClientItem ::emptyState

  • COleClientItem ::loadedState

  • COleClientItem ::openState

  • COleClientItem ::activeState

  • COleClientItem ::activeUIState

Dans l’état vide, un élément client n’est pas encore complètement un élément. La mémoire a été allouée pour elle, mais elle n’a pas encore été initialisée avec les données de l’élément OLE. Il s’agit de l’état dans lequel se trouve un élément client lorsqu’il a été créé via un appel, new mais n’a pas encore subi la deuxième étape de la création en deux étapes classique.

Lors de la deuxième étape, effectuée par le biais d’un appel à COleClientItem::CreateFromFile ou d’une autre CreateFrom fonction xxxx, l’élément est entièrement créé. Les données OLE (à partir d’un fichier ou d’une autre source, comme le Presse-papiers) ont été associées à l’objet COleClientItemdérivé. À présent, l’élément est dans l’état chargé.

Lorsqu’un élément a été ouvert dans la fenêtre du serveur plutôt qu’ouvert en place dans le document du conteneur, il est dans l’état ouvert (ou entièrement ouvert). Dans cet état, une hache croisée est généralement dessinée sur la représentation de l’élément dans la fenêtre du conteneur pour indiquer que l’élément est actif ailleurs.

Lorsqu’un élément a été activé en place, il passe, généralement brièvement, par le biais de l’état actif. Il entre ensuite dans l’état actif de l’interface utilisateur, dans lequel le serveur a fusionné ses menus, barres d’outils et autres composants d’interface utilisateur avec ceux du conteneur. La présence de ces composants d’interface utilisateur distingue l’état actif de l’interface utilisateur de l’état actif. Sinon, l’état actif ressemble à l’état actif de l’interface utilisateur. Si le serveur prend en charge l’annulation, le serveur doit conserver les informations d’annulation de l’élément OLE jusqu’à ce qu’il atteigne l’état chargé ou ouvert.

Voir aussi

conteneurs
Activation
Conteneurs : notifications Client-Item
Trackers
CRectTracker, classe