COleControl, classe
Classe de base puissante pour développer des contrôles OLE.
Syntaxe
class COleControl : public CWnd
Membres
Constructeurs publics
Nom | Description |
---|---|
COleControl ::COleControl | Crée un objet COleControl . |
Méthodes publiques
Nom | Description |
---|---|
COleControl ::AmbientAppearance | Récupère l’apparence actuelle du contrôle. |
COleControl ::AmbientBackColor | Retourne la valeur de la propriété BackColor ambiante. |
COleControl ::AmbientDisplayName | Retourne le nom du contrôle tel que spécifié par le conteneur. |
COleControl ::AmbientFont | Retourne la valeur de la propriété Font ambiante. |
COleControl ::AmbientForeColor | Retourne la valeur de la propriété ForeColor ambiante. |
COleControl ::AmbientLocaleID | Retourne l’ID de paramètres régionaux du conteneur. |
COleControl ::AmbientScaleUnits | Retourne le type d’unités utilisées par le conteneur. |
COleControl ::AmbientShowGrabHandles | Détermine si les poignées de saisie doivent être affichées. |
COleControl ::AmbientShowHatching | Détermine si le hachage doit être affiché. |
COleControl ::AmbientTextAlign | Retourne le type d’alignement du texte spécifié par le conteneur. |
COleControl ::AmbientUIDead | Détermine si le contrôle doit répondre aux actions de l’interface utilisateur. |
COleControl ::AmbientUserMode | Détermine le mode du conteneur. |
COleControl ::BoundPropertyChanged | Avertit le conteneur qu’une propriété liée a été modifiée. |
COleControl ::BoundPropertyRequestEdit | Demande l’autorisation de modifier la valeur de propriété. |
COleControl ::ClientToParent | Traduit un point par rapport à l’origine du contrôle en un point par rapport à l’origine de son conteneur. |
COleControl ::ClipCaretRect | Ajuste un rectangle de caresse s’il se chevauche par un contrôle. |
COleControl ::ControlInfoChanged | Appelez cette fonction après que l’ensemble de mnémoniques géré par le contrôle a changé. |
COleControl ::D isplayError | Affiche les événements d’erreur stock à l’utilisateur du contrôle. |
COleControl ::D oClick | Implémentation de la méthode de stock DoClick . |
COleControl ::D oPropExchange | Sérialise les propriétés d’un COleControl objet. |
COleControl ::D oSuperclassPaint | Redessine un contrôle OLE qui a été sous-classé à partir d’un contrôle Windows. |
COleControl ::EnableSimpleFrame | Permet une prise en charge simple des images pour un contrôle. |
COleControl ::ExchangeExtent | Sérialise la largeur et la hauteur du contrôle. |
COleControl ::ExchangeStockProps | Sérialise les propriétés boursières du contrôle. |
COleControl ::ExchangeVersion | Sérialise le numéro de version du contrôle. |
COleControl ::FireClick | Déclenche l’événement boursier Click . |
COleControl ::FireDblClick | Déclenche l’événement boursier DblClick . |
COleControl ::FireError | Déclenche l’événement boursier Error . |
COleControl ::FireEvent | Déclenche un événement personnalisé. |
COleControl ::FireKeyDown | Déclenche l’événement boursier KeyDown . |
COleControl ::FireKeyPress | Déclenche l’événement boursier KeyPress . |
COleControl ::FireKeyUp | Déclenche l’événement boursier KeyUp . |
COleControl ::FireMouseDown | Déclenche l’événement boursier MouseDown . |
COleControl ::FireMouseMove | Déclenche l’événement boursier MouseMove . |
COleControl ::FireMouseUp | Déclenche l’événement boursier MouseUp . |
COleControl ::FireReadyStateChange | Déclenche un événement lorsque l’état prêt du contrôle change. |
COleControl ::GetActivationPolicy | Modifie le comportement d’activation par défaut d’un contrôle qui prend en charge l’interface IPointerInactive . |
COleControl ::GetAmbientProperty | Retourne la valeur de la propriété ambiante spécifiée. |
COleControl ::GetAppearance | Retourne la valeur de la propriété Apparence du stock. |
COleControl ::GetBackColor | Retourne la valeur de la propriété BackColor stock. |
COleControl ::GetBorderStyle | Retourne la valeur de la propriété BorderStyle boursier. |
COleControl ::GetCapture | Détermine si un objet de contrôle sans fenêtre activé possède la capture de la souris. |
COleControl ::GetClassID | Récupère l’ID de classe OLE du contrôle. |
COleControl ::GetClientOffset | Récupère la différence entre le coin supérieur gauche de la zone rectangulaire du contrôle et le coin supérieur gauche de sa zone cliente. |
COleControl ::GetClientRect | Récupère la taille de la zone cliente du contrôle. |
COleControl ::GetClientSite | Interroge un objet pour le pointeur vers son site client actuel dans son conteneur. |
COleControl ::GetControlFlags | Récupère les paramètres de l’indicateur de contrôle. |
COleControl ::GetControlSize | Retourne la position et la taille du contrôle OLE. |
COleControl ::GetDC | Fournit un moyen pour un contrôle sans fenêtre d’obtenir un contexte d’appareil à partir de son conteneur. |
COleControl ::GetEnabled | Retourne la valeur de la propriété Stock Enabled. |
COleControl ::GetExtendedControl | Récupère un pointeur vers un objet de contrôle étendu appartenant au conteneur. |
COleControl ::GetFocus | Détermine si le contrôle a le focus. |
COleControl ::GetFont | Retourne la valeur de la propriété Font stock. |
COleControl ::GetFontTextMetrics | Retourne les métriques d’un CFontHolder objet. |
COleControl ::GetForeColor | Retourne la valeur de la propriété ForeColor. |
COleControl ::GetHwnd | Retourne la valeur de la propriété hWnd stock. |
COleControl ::GetMessageString | Fournit le texte de la barre d’état d’un élément de menu. |
COleControl ::GetNotSupported | Empêche l’accès à la valeur de propriété d’un contrôle par l’utilisateur. |
COleControl ::GetReadyState | Retourne l’état de préparation du contrôle. |
COleControl ::GetRectInContainer | Retourne le rectangle du contrôle par rapport à son conteneur. |
COleControl ::GetStockTextMetrics | Retourne les métriques de la propriété Font stock. |
COleControl ::GetText | Retourne la valeur de la propriété Texte ou Légende boursier. |
COleControl ::GetWindowlessDropTarget | Remplacez pour autoriser un contrôle sans fenêtre à être la cible des opérations de glisser-déplacer. |
COleControl ::InitializeIIDs | Informe la classe de base des IID que le contrôle utilisera. |
COleControl ::InternalGetFont | Retourne un CFontHolder objet pour la propriété Font stock. |
COleControl ::InternalGetText | Récupère la propriété Stock Caption ou Text. |
COleControl ::InternalSetReadyState | Définit l’état de préparation du contrôle et déclenche l’événement ready-state-change. |
COleControl ::InvalidateControl | Invalide une zone du contrôle affiché, ce qui lui permet de redessiner. |
COleControl ::InvalidateRgn | Invalide la zone cliente de la fenêtre de conteneur dans la région donnée. Peut être utilisé pour redessiner des contrôles sans fenêtre dans la région. |
COleControl ::IsConvertingVBX | Autorise le chargement spécialisé d’un contrôle OLE. |
COleControl ::IsModified | Détermine si l’état du contrôle a changé. |
COleControl ::IsOptimizedDraw | Indique si le conteneur prend en charge le dessin optimisé pour l’opération de dessin actuelle. |
COleControl ::IsSubclassedControl | Appelé pour déterminer si le contrôle sous-classe un contrôle Windows. |
COleControl ::Load | Réinitialise toutes les données asynchrones précédentes et initie une nouvelle charge de la propriété asynchrone du contrôle. |
COleControl ::LockInPlaceActive | Détermine si votre contrôle peut être désactivé par le conteneur. |
COleControl ::OnAmbientPropertyChange | Appelé lorsqu’une propriété ambiante est modifiée. |
COleControl ::OnAppearanceChanged | Appelé lorsque la propriété d’apparence du stock est modifiée. |
COleControl ::OnBackColorChanged | Appelé lorsque la propriété BackColor boursier est modifiée. |
COleControl ::OnBorderStyleChanged | Appelé lorsque la propriété BorderStyle boursier est modifiée. |
COleControl ::OnClick | Appelé pour déclencher l’événement Stock Click. |
COleControl ::OnClose | Avertit le contrôle qui IOleControl::Close a été appelé. |
COleControl ::OnDoVerb | Appelé après l’exécution d’un verbe de contrôle. |
COleControl ::OnDraw | Appelé lorsqu’un contrôle est demandé pour se redessiner. |
COleControl ::OnDrawMetafile | Appelé par le conteneur lorsqu’un contrôle est demandé pour se redessiner à l’aide d’un contexte d’appareil de métafichier. |
COleControl ::OnEdit | Appelé par le conteneur pour activer un contrôle OLE. |
COleControl ::OnEnabledChanged | Appelé lorsque la propriété Stock Enabled est modifiée. |
COleControl ::OnEnumVerbs | Appelé par le conteneur pour énumérer les verbes d’un contrôle. |
COleControl ::OnEventAdvise | Appelé lorsque les gestionnaires d’événements sont connectés ou déconnectés d’un contrôle. |
COleControl ::OnFontChanged | Appelé lorsque la propriété Font stock est modifiée. |
COleControl ::OnForeColorChanged | Appelée lorsque la propriété ForeColor boursier est modifiée. |
COleControl ::OnFreezeEvents | Appelé quand les événements d’un contrôle sont gelés ou non. |
COleControl ::OnGetColorSet | Avertit le contrôle qui IOleObject::GetColorSet a été appelé. |
COleControl ::OnGetControlInfo | Fournit des informations mnemoniques au conteneur. |
COleControl ::OnGetDisplayString | Appelé pour obtenir une chaîne pour représenter une valeur de propriété. |
COleControl ::OnGetInPlaceMenu | Demande le handle du menu du contrôle qui sera fusionné avec le menu conteneur. |
COleControl ::OnGetNaturalExtent | Remplacez le remplacement pour récupérer la taille d’affichage du contrôle la plus proche de la taille proposée et ex mode tente. |
COleControl ::OnGetPredefinedStrings | Retourne des chaînes représentant des valeurs possibles pour une propriété. |
COleControl ::OnGetPredefinedValue | Retourne la valeur correspondant à une chaîne prédéfinie. |
COleControl ::OnGetViewExtent | Remplacer pour récupérer la taille des zones d’affichage du contrôle (peut être utilisée pour activer le dessin à deux passes). |
COleControl ::OnGetViewRect | Remplacez la conversion de la taille du contrôle en rectangle à partir d’une position spécifique. |
COleControl ::OnGetViewStatus | Remplacez la récupération de l’état d’affichage du contrôle. |
COleControl ::OnHideToolBars | Appelé par le conteneur lorsque l’interface utilisateur du contrôle est désactivée. |
COleControl ::OnInactiveMouseMove | Remplacez le conteneur pour que le contrôle inactif sous le pointeur de la souris distribue WM_MOUSEMOVE messages au contrôle. |
COleControl ::OnInactiveSetCursor | Remplacez le conteneur pour que le contrôle inactif sous le pointeur de la souris distribue WM_SETCURSOR messages au contrôle. |
COleControl ::OnKeyDownEvent | Appelé après le déclenchement de l’événement KeyDown boursier. |
COleControl ::OnKeyPressEvent | Appelé après le déclenchement de l’événement KeyPress boursier. |
COleControl ::OnKeyUpEvent | Appelé après le déclenchement de l’événement KeyUp boursier. |
COleControl ::OnMapPropertyToPage | Indique la page de propriétés à utiliser pour modifier une propriété. |
COleControl ::OnMnemonic | Appelé lorsqu’une touche mnémonique du contrôle a été enfoncée. |
COleControl ::OnProperties | Appelé lorsque le verbe « Propriétés » du contrôle a été appelé. |
COleControl ::OnQueryHitPoint | Remplacez la requête pour savoir si l’affichage d’un contrôle chevauche un point donné. |
COleControl ::OnQueryHitRect | Remplacez la requête pour savoir si l’affichage d’un contrôle chevauche n’importe quel point dans un rectangle donné. |
COleControl ::OnRenderData | Appelé par l’infrastructure pour récupérer les données au format spécifié. |
COleControl ::OnRenderFileData | Appelé par l’infrastructure pour récupérer des données à partir d’un fichier au format spécifié. |
COleControl ::OnRenderGlobalData | Appelé par l’infrastructure pour récupérer des données à partir de la mémoire globale au format spécifié. |
COleControl ::OnResetState | Réinitialise les propriétés d’un contrôle aux valeurs par défaut. |
COleControl ::OnSetClientSite | Avertit le contrôle qui IOleControl::SetClientSite a été appelé. |
COleControl ::OnSetData | Remplace les données du contrôle par une autre valeur. |
COleControl ::OnSetExtent | Appelé après la modification de l’étendue du contrôle. |
COleControl ::OnSetObjectRects | Appelée après la modification des dimensions du contrôle. |
COleControl ::OnShowToolBars | Appelé quand l’interface utilisateur du contrôle a été activée. |
COleControl ::OnTextChanged | Appelé lorsque la propriété Texte ou Légende boursier est modifiée. |
COleControl ::OnWindowlessMessage | Traite les messages de fenêtre (autres que les messages de souris et de clavier) pour les contrôles sans fenêtre. |
COleControl ::P arentToClient | Traduit un point par rapport à l’origine du conteneur en point par rapport à l’origine du contrôle. |
COleControl ::P ostModalDialog | Avertit le conteneur qu’une boîte de dialogue modale a été fermée. |
COleControl ::P reModalDialog | Avertit le conteneur qu’une boîte de dialogue modale est sur le point d’être affichée. |
COleControl ::RecreateControlWindow | Détruit et recrée la fenêtre du contrôle. |
COleControl ::Refresh | Force un repaint de l’apparence d’un contrôle. |
COleControl ::ReleaseCapture | Libère la capture de la souris. |
COleControl ::ReleaseDC | Libère le contexte d’appareil d’affichage d’un conteneur d’un contrôle sans fenêtre. |
COleControl ::ReparentControlWindow | Réinitialise le parent de la fenêtre de contrôle. |
COleControl ::ResetStockProps | Initialise les COleControl propriétés de stock à leurs valeurs par défaut. |
COleControl ::ResetVersion | Initialise le numéro de version à une valeur donnée. |
COleControl ::ScrollWindow | Permet à un contrôle sans fenêtre de faire défiler une zone dans son image active sur place sur l’affichage. |
COleControl ::SelectFontObject | Sélectionne une propriété Police personnalisée dans un contexte d’appareil. |
COleControl ::SelectStockFont | Sélectionne la propriété Font stock dans un contexte d’appareil. |
COleControl ::SerializeExtent | Sérialise ou initialise l’espace d’affichage du contrôle. |
COleControl ::SerializeStockProps | Sérialise ou initialise les COleControl propriétés boursières. |
COleControl ::SerializeVersion | Sérialise ou initialise les informations de version du contrôle. |
COleControl ::SetAppearance | Définit la valeur de la propriété d’apparence boursière. |
COleControl ::SetBackColor | Définit la valeur de la propriété BackColor stock. |
COleControl ::SetBorderStyle | Définit la valeur de la propriété BorderStyle stock. |
COleControl ::SetCapture | Fait en sorte que la fenêtre conteneur du contrôle prenne possession de la capture de la souris au nom du contrôle. |
COleControl ::SetControlSize | Définit la position et la taille du contrôle OLE. |
COleControl ::SetEnabled | Définit la valeur de la propriété Stock Enabled. |
COleControl ::SetFocus | Provoque la prise en charge de la fenêtre conteneur du contrôle par le focus d’entrée au nom du contrôle. |
COleControl ::SetFont | Définit la valeur de la propriété Font stock. |
COleControl ::SetForeColor | Définit la valeur de la propriété ForeColor stock. |
COleControl ::SetInitialSize | Définit la taille d’un contrôle OLE lorsqu’il s’affiche pour la première fois dans un conteneur. |
COleControl ::SetModifiedFlag | Modifie l’état modifié d’un contrôle. |
COleControl ::SetNotPermitted | Indique qu’une demande de modification a échoué. |
COleControl ::SetNotSupported | Empêche la modification de la valeur de propriété d’un contrôle par l’utilisateur. |
COleControl ::SetRectInContainer | Définit le rectangle du contrôle par rapport à son conteneur. |
COleControl ::SetText | Définit la valeur de la propriété Texte ou Légende boursier. |
COleControl ::ThrowError | Signale qu’une erreur s’est produite dans un contrôle OLE. |
COleControl ::TransformCoords | Transforme les valeurs de coordonnées entre un conteneur et le contrôle. |
COleControl ::TranslateColor | Convertit une valeur OLE_COLOR en valeur COLORREF. |
COleControl ::WillAmbientsBeValidDuringLoad | Détermine si les propriétés ambiantes seront disponibles la prochaine fois que le contrôle est chargé. |
COleControl ::WindowProc | Fournit une procédure Windows pour un COleControl objet. |
Méthodes protégées
Nom | Description |
---|---|
COleControl ::D rawContent | Appelé par l’infrastructure lorsque l’apparence du contrôle doit être mise à jour. |
COleControl ::D rawMetafile | Appelé par l’infrastructure lorsque le contexte d’appareil de métafichier est utilisé. |
COleControl ::IsInvokeAllowed | Active l’appel de méthode Automation. |
COleControl ::SetInitialDataFormats | Appelé par l’infrastructure pour initialiser la liste des formats de données pris en charge par le contrôle. |
Notes
Dérivée de CWnd
, cette classe hérite de toutes les fonctionnalités d’un objet fenêtre Windows ainsi que des fonctionnalités supplémentaires spécifiques à OLE, telles que le déclenchement d’événements et la possibilité de prendre en charge les méthodes et les propriétés.
Les contrôles OLE peuvent être insérés dans des applications conteneur OLE et communiquer avec le conteneur à l’aide d’un système bidirectionnel de déclenchement d’événements et d’exposition de méthodes et de propriétés au conteneur. Notez que les conteneurs OLE standard prennent uniquement en charge les fonctionnalités de base d’un contrôle OLE. Ils ne peuvent pas prendre en charge les fonctionnalités étendues d’un contrôle OLE. Le déclenchement d’événements se produit lorsque les événements sont envoyés au conteneur en raison de certaines actions effectuées dans le contrôle. À son tour, le conteneur communique avec le contrôle à l’aide d’un ensemble exposé de méthodes et de propriétés analogues aux fonctions membres et aux membres de données d’une classe C++. Cette approche permet au développeur de contrôler l’apparence du contrôle et de notifier le conteneur lorsque certaines actions se produisent.
Contrôles sans fenêtre
Les contrôles OLE peuvent être utilisés sur place sans fenêtre. Les contrôles sans fenêtre présentent des avantages significatifs :
Les contrôles sans fenêtre peuvent être transparents et non rectangulaires
Les contrôles sans fenêtre réduisent la taille de l’instance et le temps de création de l’objet
Les contrôles n’ont pas besoin d’une fenêtre. Les services qu’offre une fenêtre peuvent facilement être fournis via une seule fenêtre partagée (généralement celle du conteneur) et un peu de code de distribution. Avoir une fenêtre est principalement une complication inutile sur l’objet.
Lorsque l’activation sans fenêtre est utilisée, le conteneur (qui a une fenêtre) est chargé de fournir des services qui auraient autrement été fournis par la propre fenêtre du contrôle. Par exemple, si votre contrôle doit interroger le focus clavier, interroger la capture de la souris ou obtenir un contexte d’appareil, ces opérations sont gérées par le conteneur. Les COleControl
fonctions membres de l’opération sans fenêtre appellent ces opérations sur le conteneur.
Lorsque l’activation sans fenêtre est activée, le conteneur délègue les messages d’entrée à l’interface du IOleInPlaceObjectWindowless
contrôle (extension d’IOleInPlaceObject pour la prise en charge sans fenêtre). COleControl
L’implémentation de cette interface distribue ces messages via la carte des messages de votre contrôle, après avoir ajusté les coordonnées de la souris de manière appropriée. Vous pouvez traiter ces messages comme les messages de fenêtre ordinaires, en ajoutant les entrées correspondantes à la carte des messages.
Dans un contrôle sans fenêtre, vous devez toujours utiliser les COleControl
fonctions membres au lieu des fonctions membres correspondantes CWnd
ou de leurs fonctions API Windows associées.
Les objets de contrôle OLE peuvent également créer une fenêtre uniquement lorsqu’ils deviennent actifs, mais la quantité de travail nécessaire pour la transition inactive active monte et la vitesse de la transition tombe en panne. Il existe des cas où il s’agit d’un problème : par exemple, considérez une grille de zones de texte. Lors du curseur vers le haut et le bas dans la colonne, chaque contrôle doit être activé sur place, puis désactivé. La vitesse de la transition inactive/active affecte directement la vitesse de défilement.
Pour plus d’informations sur le développement d’une infrastructure de contrôle OLE, consultez les articles MFC ActiveX Controls and Overview : Creating an MFC ActiveX Control Program. Pour plus d’informations sur l’optimisation des contrôles OLE, notamment les contrôles sans fenêtre et sans scintillement, consultez Contrôles ActiveX MFC : Optimisation.
Hiérarchie d'héritage
COleControl
Spécifications
En-tête : afxctl.h
COleControl ::AmbientBackColor
Retourne la valeur de la propriété BackColor ambiante.
OLE_COLOR AmbientBackColor();
Valeur de retour
Valeur actuelle de la propriété BackColor ambiante du conteneur, le cas échéant. Si la propriété n’est pas prise en charge, cette fonction retourne la couleur d’arrière-plan Windows définie par le système.
Notes
La propriété BackColor ambiante est disponible pour tous les contrôles et est définie par le conteneur. Notez que le conteneur n’est pas requis pour prendre en charge cette propriété.
COleControl ::AmbientDisplayName
Le nom que le conteneur a affecté au contrôle peut être utilisé dans les messages d’erreur affichés à l’utilisateur.
CString AmbientDisplayName();
Valeur de retour
Nom du contrôle OLE. La valeur par défaut est une chaîne de longueur nulle.
Notes
Notez que le conteneur n’est pas requis pour prendre en charge cette propriété.
COleControl ::AmbientFont
Retourne la valeur de la propriété Font ambiante.
LPFONTDISP AmbientFont();
Valeur de retour
Pointeur vers l’interface de distribution de police ambiante du conteneur. La valeur par défaut est NULL. Si le retour n’est pas égal à NULL, vous êtes responsable de la libération de la police en appelant sa fonction membre IUnknown ::Release .
Notes
La propriété Font ambiante est définie par le conteneur et disponible pour tous les contrôles. Notez que le conteneur n’est pas requis pour prendre en charge cette propriété.
COleControl ::AmbientForeColor
Retourne la valeur de la propriété ForeColor ambiante.
OLE_COLOR AmbientForeColor();
Valeur de retour
Valeur actuelle de la propriété ForeColor ambiante du conteneur, le cas échéant. Si elle n’est pas prise en charge, cette fonction retourne la couleur de texte Windows définie par le système.
Notes
La propriété ForeColor ambiante est disponible pour tous les contrôles et est définie par le conteneur. Notez que le conteneur n’est pas requis pour prendre en charge cette propriété.
COleControl ::AmbientLocaleID
Retourne l’ID de paramètres régionaux du conteneur.
LCID AmbientLocaleID();
Valeur de retour
Valeur de la propriété LocaleID du conteneur, le cas échéant. Si cette propriété n’est pas prise en charge, cette fonction retourne 0.
Notes
Le contrôle peut utiliser localeID pour adapter son interface utilisateur à des paramètres régionaux spécifiques. Notez que le conteneur n’est pas requis pour prendre en charge cette propriété.
COleControl ::AmbientAppearance
Récupère le paramètre d’apparence actuel de l’objet de contrôle.
short AmbientAppearance();
Valeur de retour
Apparence du contrôle :
0 Apparence plate
Apparence 3D
Notes
Appelez cette fonction pour récupérer la valeur actuelle de la propriété DISPID_AMBIENT_APPEARANCE pour le contrôle.
COleControl ::AmbientScaleUnits
Retourne le type d’unités utilisées par le conteneur.
CString AmbientScaleUnits();
Valeur de retour
Chaîne contenant les ScaleUnits ambiants du conteneur. Si cette propriété n’est pas prise en charge, cette fonction retourne une chaîne de longueur nulle.
Notes
La propriété ScaleUnits ambiante du conteneur peut être utilisée pour afficher des positions ou des dimensions, étiquetées avec l’unité choisie, telle que twips ou centimètres. Notez que le conteneur n’est pas requis pour prendre en charge cette propriété.
COleControl ::AmbientShowGrabHandles
Détermine si le conteneur permet au contrôle d’afficher les poignées de saisie pour elle-même lorsqu’il est actif.
BOOL AmbientShowGrabHandles();
Valeur de retour
Non différent de zéro si les poignées de saisie doivent être affichées ; sinon 0. Si cette propriété n’est pas prise en charge, cette fonction retourne une valeur différente de zéro.
Notes
Notez que le conteneur n’est pas requis pour prendre en charge cette propriété.
COleControl ::AmbientShowHatching
Détermine si le conteneur permet au contrôle de s’afficher avec un modèle hachisé lorsque l’interface utilisateur est active.
BOOL AmbientShowHatching();
Valeur de retour
Différent de zéro si le modèle hachré doit être affiché ; sinon 0. Si cette propriété n’est pas prise en charge, cette fonction retourne une valeur différente de zéro.
Notes
Notez que le conteneur n’est pas requis pour prendre en charge cette propriété.
COleControl ::AmbientTextAlign
Détermine l’alignement du texte ambiant préféré par le conteneur de contrôle.
short AmbientTextAlign();
Valeur de retour
État de la propriété TextAlign ambiante du conteneur. Si cette propriété n’est pas prise en charge, cette fonction retourne 0.
Voici une liste de valeurs de retour valides :
Valeur retournée | Signification |
---|---|
0 | Alignement général (nombres à droite, texte à gauche). |
1 | Justification gauche |
2 | Centrer |
3 | Justification appropriée |
Notes
Cette propriété est disponible pour tous les contrôles incorporés et est définie par le conteneur. Notez que le conteneur n’est pas requis pour prendre en charge cette propriété.
COleControl ::AmbientUIDead
Détermine si le conteneur souhaite que le contrôle réponde aux actions de l’interface utilisateur.
BOOL AmbientUIDead();
Valeur de retour
Différent de zéro si le contrôle doit répondre aux actions de l’interface utilisateur ; sinon 0. Si cette propriété n’est pas prise en charge, cette fonction retourne 0.
Notes
Par exemple, un conteneur peut définir cette valeur sur TRUE en mode création.
COleControl ::AmbientUserMode
Détermine si le conteneur est en mode conception ou en mode utilisateur.
BOOL AmbientUserMode();
Valeur de retour
Différent de zéro si le conteneur est en mode utilisateur ; sinon 0 (en mode création). Si cette propriété n’est pas prise en charge, cette fonction retourne TRUE.
Notes
Par exemple, un conteneur peut définir cette valeur sur FALSE en mode création.
COleControl ::BoundPropertyChanged
Signale que la valeur de propriété liée a changé.
void BoundPropertyChanged(DISPID dispid);
Paramètres
dispid
ID de répartition d’une propriété liée du contrôle.
Notes
Cela doit être appelé chaque fois que la valeur de la propriété change, même dans les cas où la modification n’a pas été apportée par le biais de la méthode Set de propriété. Tenez particulièrement compte des propriétés liées mappées aux variables membres. À tout moment, BoundPropertyChanged
une variable membre de ce type doit être appelée.
COleControl ::BoundPropertyRequestEdit
Demande l’autorisation de l’interface IPropertyNotifySink
pour modifier une valeur de propriété liée fournie par le contrôle.
BOOL BoundPropertyRequestEdit(DISPID dispid);
Paramètres
dispid
ID de répartition d’une propriété liée du contrôle.
Valeur de retour
Différent de zéro si la modification est autorisée ; sinon 0. La valeur par défaut est différente de zéro.
Notes
Si l’autorisation est refusée, le contrôle ne doit pas laisser la valeur de la propriété changer. Pour ce faire, ignorez ou échouez l’action qui a tenté de modifier la valeur de la propriété.
COleControl ::ClientToParent
Convertit les coordonnées de pPoint en coordonnées parentes.
virtual void ClientToParent(
LPCRECT lprcBounds,
LPPOINT pPoint) const;
Paramètres
lprcBounds
Pointeur vers les limites du contrôle OLE dans le conteneur. Pas la zone cliente, mais la zone de l’ensemble du contrôle, y compris les bordures et les barres de défilement.
pPoint
Pointeur vers le point de zone client OLE à traduire en coordonnées du parent (conteneur).
Notes
Sur l’entrée pPoint est relatif à l’origine de la zone cliente du contrôle OLE (coin supérieur gauche de la zone cliente du contrôle). Sur la sortie pPoint est relatif à l’origine du parent (coin supérieur gauche du conteneur).
COleControl ::ClipCaretRect
Ajuste un rectangle de pointage s’il est entièrement ou partiellement couvert par des objets opaques qui se chevauchent.
BOOL ClipCaretRect(LPRECT lpRect);
Paramètres
lpRect
Lors de l’entrée, un pointeur vers une structure RECT qui contient la zone d’insertion à ajuster. En sortie, la zone de caret ajustée ou NULL si le rectangle de caret est complètement couvert.
Valeur de retour
Valeur différente de zéro cas de réussite ; sinon, 0.
Notes
Un caret est une ligne clignotante, un bloc ou une bitmap qui indique généralement où le texte ou les graphiques seront insérés.
Un objet sans fenêtre ne peut pas afficher en toute sécurité un caret sans vérifier d’abord si le caret est partiellement ou totalement masqué en chevauchant des objets. Afin de rendre cela possible, un objet peut utiliser ClipCaretRect
pour obtenir le pointage ajusté (réduit) pour s’assurer qu’il s’adapte à la région de découpage.
Les objets qui créent un caret doivent soumettre le rectangle de caret à ClipCaretRect
et utiliser le rectangle ajusté pour le point d’insertion. Si la carete est entièrement masquée, cette méthode retourne FALSE et le signe ne doit pas être affiché du tout dans ce cas.
COleControl ::COleControl
Construit un objet COleControl
.
COleControl();
Notes
Cette fonction n’est normalement pas appelée directement. Au lieu de cela, le contrôle OLE est généralement créé par sa fabrique de classe.
COleControl ::ControlInfoChanged
Appelez cette fonction lorsque l’ensemble de mnémoniques pris en charge par le contrôle a changé.
void ControlInfoChanged();
Notes
Lors de la réception de cette notification, le conteneur du contrôle obtient le nouvel ensemble de mnemoniques en effectuant un appel à IOleControl ::GetControlInfo. Notez que le conteneur n’est pas requis pour répondre à cette notification.
COleControl ::D isplayError
Appelé par l’infrastructure après que l’événement d’erreur de stock a été géré (sauf si le gestionnaire d’événements a supprimé l’affichage de l’erreur).
virtual void DisplayError(
SCODE scode,
LPCTSTR lpszDescription,
LPCTSTR lpszSource,
LPCTSTR lpszHelpFile,
UINT nHelpID);
Paramètres
scode
Valeur du code d’état à signaler. Pour obtenir la liste complète des codes possibles, consultez l’article Contrôles ActiveX : Rubriques avancées.
lpszDescription
Description de l’erreur signalée.
lpszSource
Nom du module générant l’erreur (généralement, le nom du module de contrôle OLE).
lpszHelpFile
Nom du fichier d’aide contenant une description de l’erreur.
nHelpID
ID de contexte d’aide de l’erreur signalée.
Notes
Le comportement par défaut affiche une boîte de message contenant la description de l’erreur, contenue dans lpszDescription.
Remplacez cette fonction pour personnaliser l’affichage des erreurs.
COleControl ::D oClick
Simule une action de clic de souris sur le contrôle.
void DoClick();
Notes
La fonction membre substituable COleControl::OnClick
est appelée, et un événement Stock Click est déclenché, s’il est pris en charge par le contrôle.
Cette fonction est prise en charge par la COleControl
classe de base en tant que méthode stock, appelée DoClick. Pour plus d’informations, consultez l’article Contrôles ActiveX : Méthodes.
COleControl ::D oPropExchange
Appelé par l’infrastructure lors du chargement ou du stockage d’un contrôle à partir d’une représentation de stockage persistante, tel qu’un flux ou un jeu de propriétés.
virtual void DoPropExchange(CPropExchange* pPX);
Paramètres
pPX
Pointeur vers un objet CPropExchange
. Le framework fournit cet objet pour établir le contexte de l’échange de propriétés, y compris sa direction.
Notes
Cette fonction effectue normalement des appels à la famille de fonctions PX_ pour charger ou stocker des propriétés définies par l’utilisateur spécifiques d’un contrôle OLE.
Si l’Assistant Contrôle a été utilisé pour créer le projet de contrôle OLE, la version substituée de cette fonction sérialise les propriétés stock prises en charge par COleControl
un appel à la fonction de classe de base. COleControl::DoPropExchange
Lorsque vous ajoutez des propriétés définies par l’utilisateur à votre contrôle OLE, vous devez modifier cette fonction pour sérialiser vos nouvelles propriétés. Pour plus d’informations sur la sérialisation, consultez l’article Contrôles ActiveX : Sérialisation.
COleControl ::D oSuperclassPaint
Redessine un contrôle OLE qui a été sous-classé à partir d’un contrôle Windows.
void DoSuperclassPaint(
CDC* pDC,
const CRect& rcBounds);
Paramètres
pDC
Pointeur vers le contexte de l’appareil du conteneur de contrôle.
rcBounds
Zone dans laquelle le contrôle doit être dessiné.
Notes
Appelez cette fonction pour gérer correctement la peinture d’un contrôle OLE non actif. Cette fonction ne doit être utilisée que si le contrôle OLE sous-classe un contrôle Windows et doit être appelé dans la OnDraw
fonction de votre contrôle.
Pour plus d’informations sur cette fonction et la sous-classe d’un contrôle Windows, consultez l’article Contrôles ActiveX : Sous-classe d’un contrôle Windows.
COleControl ::D rawContent
Appelé par l’infrastructure lorsque l’apparence du contrôle doit être mise à jour.
void DrawContent(
CDC* pDC,
CRect& rc);
Paramètres
pDC
Pointeur vers le contexte de l’appareil.
Rc
Zone rectangulaire à dessiner.
Notes
Cette fonction appelle directement la fonction substituable OnDraw
.
COleControl ::D rawMetafile
Appelé par l’infrastructure lorsque le contexte d’appareil de métafichier est utilisé.
void DrawMetafile(
CDC* pDC,
CRect& rc);
Paramètres
pDC
Pointeur vers le contexte de l’appareil de métafichier.
Rc
Zone rectangulaire à dessiner.
COleControl ::EnableSimpleFrame
Active la caractéristique d’image simple d’un contrôle OLE.
void EnableSimpleFrame();
Notes
Cette caractéristique permet à un contrôle de prendre en charge l’endiguement visuel d’autres contrôles, mais pas le véritable confinement OLE. Par exemple, il s’agit d’une zone de groupe avec plusieurs contrôles à l’intérieur. Ces contrôles ne sont pas contenus dans OLE, mais ils se trouvent dans la même zone de groupe.
COleControl ::ExchangeExtent
Sérialise ou initialise l’état de l’étendue du contrôle (ses dimensions dans les unités HIMETRIC).
BOOL ExchangeExtent(CPropExchange* pPX);
Paramètres
pPX
Pointeur vers un objet CPropExchange . Le framework fournit cet objet pour établir le contexte de l’échange de propriétés, y compris sa direction.
Valeur de retour
Différent de zéro si la fonction a réussi ; Sinon, 0.
Notes
Cette fonction est normalement appelée par l’implémentation par défaut de COleControl::DoPropExchange
.
COleControl ::ExchangeStockProps
Sérialise ou initialise l’état des propriétés de stock du contrôle.
void ExchangeStockProps(CPropExchange* pPX);
Paramètres
pPX
Pointeur vers un objet CPropExchange . Le framework fournit cet objet pour établir le contexte de l’échange de propriétés, y compris sa direction.
Notes
Cette fonction est normalement appelée par l’implémentation par défaut de COleControl::DoPropExchange
.
COleControl ::ExchangeVersion
Sérialise ou initialise l’état des informations de version d’un contrôle.
BOOL ExchangeVersion(
CPropExchange* pPX,
DWORD dwVersionDefault,
BOOL bConvert = TRUE);
Paramètres
pPX
Pointeur vers un objet CPropExchange
. Le framework fournit cet objet pour établir le contexte de l’échange de propriétés, y compris sa direction.
dwVersionDefault
Numéro de version actuel du contrôle.
bConvert
Indique si les données persistantes doivent être converties au format le plus récent lors de l’enregistrement ou conservées dans le même format que celui chargé.
Valeur de retour
Non différent de zéro de la fonction réussie ; Sinon, 0.
Notes
En règle générale, il s’agit de la première fonction appelée par le remplacement d’un COleControl::DoPropExchange
contrôle . Lors du chargement, cette fonction lit le numéro de version des données persistantes et définit l’attribut de version de l’objet CPropExchange en conséquence. Lors de l’enregistrement, cette fonction écrit le numéro de version des données persistantes.
Pour plus d’informations sur la persistance et le contrôle de version, consultez l’article Contrôles ActiveX : Sérialisation.
COleControl ::FireClick
Appelé par l’infrastructure lorsque la souris est cliquée sur un contrôle actif.
void FireClick();
Notes
Si cet événement est défini comme un événement personnalisé, vous déterminez quand l’événement est déclenché.
Pour que le déclenchement automatique d’un événement Click se produise, le mappage d’événements du contrôle doit avoir un événement Stock Click défini.
COleControl ::FireDblClick
Appelé par l’infrastructure lorsque la souris est double-cliquée sur un contrôle actif.
void FireDblClick();
Notes
Si cet événement est défini comme un événement personnalisé, vous déterminez quand l’événement est déclenché.
Pour que le déclenchement automatique d’un événement DblClick se produise, le mappage d’événements du contrôle doit avoir un événement DblClick boursier défini.
COleControl ::FireError
Déclenche l’événement d’erreur du stock.
void FireError(
SCODE scode,
LPCTSTR lpszDescription,
UINT nHelpID = 0);
Paramètres
scode
Valeur du code d’état à signaler. Pour obtenir la liste complète des codes possibles, consultez l’article Contrôles ActiveX : Rubriques avancées.
lpszDescription
Description de l’erreur signalée.
nHelpID
ID d’aide de l’erreur signalée.
Notes
Cet événement permet de signaler, à des endroits appropriés dans votre code, qu’une erreur s’est produite dans votre contrôle. Contrairement à d’autres événements boursiers, tels que Click ou MouseMove, l’erreur n’est jamais déclenchée par l’infrastructure.
Pour signaler une erreur qui se produit lors d’une fonction get de propriété, d’une fonction de jeu de propriétés ou d’une méthode Automation, appelez COleControl ::ThrowError.
L’implémentation de l’événement d’erreur stock d’un contrôle OLE utilise une valeur SCODE. Si votre contrôle utilise cet événement et est destiné à être utilisé dans Visual Basic 4.0, vous recevrez des erreurs, car la valeur SCODE n’est pas prise en charge dans Visual Basic.
Pour résoudre ce problème, modifiez manuellement le paramètre SCODE dans le contrôle. Fichier ODL dans un long
fichier . En outre, tout événement, méthode ou propriété personnalisé qui utilise un paramètre SCODE provoque également le même problème.
COleControl ::FireEvent
Déclenche un événement défini par l’utilisateur à partir de votre contrôle avec un nombre quelconque d’arguments facultatifs.
void AFX_CDECL FireEvent(
DISPID dispid,
BYTE* pbParams,
...);
Paramètres
dispid
ID de répartition de l’événement à déclencher.
pbParams
Descripteur pour les types de paramètres de l’événement.
Notes
En règle générale, cette fonction ne doit pas être appelée directement. Au lieu de cela, vous allez appeler les fonctions de déclenchement d’événements dans la section de carte d’événements de la déclaration de classe de votre contrôle.
L’argument pbParams est une liste séparée par des espaces de VTS_. Une ou plusieurs de ces valeurs, séparées par des espaces (et non par des virgules), spécifient la liste des paramètres de la fonction. Les valeurs possibles sont les suivantes :
Symbole | Type de paramètre |
---|---|
VTS_COLOR | OLE_COLOR |
VTS_FONT | IFontDisp* |
VTS_HANDLE | HWND |
VTS_PICTURE | IPictureDisp* |
VTS_OPTEXCLUSIVE | OLE_OPTEXCLUSIVE* |
VTS_TRISTATE | OLE_TRISTATE |
VTS_XPOS_HIMETRIC | OLE_XPOS_HIMETRIC |
VTS_YPOS_HIMETRIC | OLE_YPOS_HIMETRIC |
VTS_XPOS_PIXELS | OLE_XPOS_PIXELS |
VTS_YPOS_PIXELS | OLE_YPOS_PIXELS |
VTS_XSIZE_PIXELS | OLE_XSIZE_PIXELS |
VTS_YSIZE_PIXELS | OLE_XSIZE_PIXELS |
VTS_XSIZE_HIMETRIC | OLE_XSIZE_HIMETRIC |
VTS_YSIZE_HIMETRIC | OLE_XSIZE_HIMETRIC |
Remarque
Des constantes variant supplémentaires ont été définies pour tous les types de variantes, à l’exception de VTS_FONT et de VTS_PICTURE, qui fournissent un pointeur vers la constante de données variant. Ces constantes sont nommées à l’aide de la convention VTS_P<CONSTANT-NAME> . Par exemple, VTS_PCOLOR est un pointeur vers une constante VTS_COLOR.
COleControl ::FireKeyDown
Appelé par l’infrastructure lorsqu’une touche est enfoncée pendant que l’interface utilisateur du contrôle est active.
void FireKeyDown(
USHORT* pnChar,
short nShiftState);
Paramètres
pnChar
Pointeur vers la valeur de code de clé virtuelle de la touche enfoncée. Pour obtenir la liste des codes de clé virtuelle standard, consultez Winuser.h
nShiftState
Contient une combinaison des indicateurs suivants :
SHIFT_MASK La touche Maj a été enfoncée pendant l’action.
CTRL_MASK La touche Ctrl a été enfoncée pendant l’action.
ALT_MASK La touche Alt a été enfoncée pendant l’action.
Notes
Si cet événement est défini comme un événement personnalisé, vous déterminez quand l’événement est déclenché.
Pour que le déclenchement automatique d’un événement KeyDown se produise, le mappage d’événements du contrôle doit avoir un événement KeyDown boursier défini.
COleControl ::FireKeyPress
Appelé par l’infrastructure lorsqu’une touche est enfoncée et libérée pendant que le contrôle personnalisé est actif dans le conteneur.
void FireKeyPress(USHORT* pnChar);
Paramètres
pnChar
Pointeur vers la valeur de caractère de la touche enfoncée.
Notes
Si cet événement est défini comme un événement personnalisé, vous déterminez quand l’événement est déclenché.
Le destinataire de l’événement peut modifier pnChar, par exemple, convertir tous les caractères minuscules en majuscules. Si vous souhaitez examiner le caractère modifié, remplacez OnKeyPressEvent
.
Pour que le déclenchement automatique d’un événement KeyPress se produise, le mappage d’événements du contrôle doit avoir un événement KeyPress boursier défini.
COleControl ::FireKeyUp
Appelé par l’infrastructure lorsqu’une clé est libérée pendant que le contrôle personnalisé est actif dans le conteneur.
void FireKeyUp(
USHORT* pnChar,
short nShiftState);
Paramètres
pnChar
Pointeur vers la valeur de code de clé virtuelle de la clé libérée. Pour obtenir la liste des codes de clé virtuelle standard, consultez Winuser.h
nShiftState
Contient une combinaison des indicateurs suivants :
SHIFT_MASK La touche Maj a été enfoncée pendant l’action.
CTRL_MASK La touche Ctrl a été enfoncée pendant l’action.
ALT_MASK La touche Alt a été enfoncée pendant l’action.
Notes
Si cet événement est défini comme un événement personnalisé, vous déterminez quand l’événement est déclenché.
Pour que le déclenchement automatique d’un événement KeyUp se produise, le mappage d’événements du contrôle doit avoir un événement KeyUp boursier défini.
COleControl ::FireMouseDown
Appelé par l’infrastructure lorsqu’un bouton de la souris est enfoncé sur un contrôle personnalisé actif.
void FireMouseDown(
short nButton,
short nShiftState,
OLE_XPOS_PIXELS x,
OLE_YPOS_PIXELS y);
Paramètres
nButton
Valeur numérique du bouton de la souris enfoncée. Il peut contenir l’une des valeurs suivantes :
LEFT_BUTTON Le bouton gauche de la souris a été enfoncé.
MIDDLE_BUTTON Le bouton central de la souris a été enfoncé.
RIGHT_BUTTON Le bouton droit de la souris a été enfoncé.
nShiftState
Contient une combinaison des indicateurs suivants :
SHIFT_MASK La touche Maj a été enfoncée pendant l’action.
CTRL_MASK La touche Ctrl a été enfoncée pendant l’action.
ALT_MASK La touche Alt a été enfoncée pendant l’action.
x
Coordonnée x du curseur lorsqu’un bouton de la souris a été enfoncé. La coordonnée est relative au coin supérieur gauche de la fenêtre de contrôle.
y
Coordonnée y du curseur lorsqu’un bouton de la souris a été enfoncé. La coordonnée est relative au coin supérieur gauche de la fenêtre de contrôle.
Notes
Si cet événement est défini comme un événement personnalisé, vous déterminez quand l’événement est déclenché.
Pour que le déclenchement automatique d’un événement MouseDown se produise, le mappage d’événements du contrôle doit avoir un événement MouseDown en stock défini.
COleControl ::FireMouseMove
Appelé par l’infrastructure lorsque le curseur est déplacé sur un contrôle personnalisé actif.
void FireMouseMove(
short nButton,
short nShiftState,
OLE_XPOS_PIXELS x,
OLE_YPOS_PIXELS y);
Paramètres
nButton
Valeur numérique des boutons de la souris enfoncés. Contient une combinaison des valeurs suivantes :
LEFT_BUTTON Le bouton gauche de la souris a été enfoncé pendant l’action.
MIDDLE_BUTTON Le bouton central de la souris a été enfoncé pendant l’action.
RIGHT_BUTTON Le bouton droit de la souris a été enfoncé pendant l’action.
nShiftState
Contient une combinaison des indicateurs suivants :
SHIFT_MASK La touche Maj a été enfoncée pendant l’action.
CTRL_MASK La touche Ctrl a été enfoncée pendant l’action.
ALT_MASK La touche Alt a été enfoncée pendant l’action.
x
Coordonnée x du curseur. La coordonnée est relative au coin supérieur gauche de la fenêtre de contrôle.
y
Coordonnée y du curseur. La coordonnée est relative au coin supérieur gauche de la fenêtre de contrôle.
Notes
Si cet événement est défini comme un événement personnalisé, vous déterminez quand l’événement est déclenché.
Pour que le déclenchement automatique d’un événement MouseMove se produise, le mappage d’événements du contrôle doit avoir un événement MouseMove en stock défini.
COleControl ::FireMouseUp
Appelé par l’infrastructure lorsqu’un bouton de souris est libéré sur un contrôle personnalisé actif.
void FireMouseUp(
short nButton,
short nShiftState,
OLE_XPOS_PIXELS x,
OLE_YPOS_PIXELS y);
Paramètres
nButton
Valeur numérique du bouton de la souris relâchée. Il peut avoir l’une des valeurs suivantes :
LEFT_BUTTON Le bouton gauche de la souris a été libéré.
MIDDLE_BUTTON Le bouton central de la souris a été libéré.
RIGHT_BUTTON Le bouton droit de la souris a été libéré.
nShiftState
Contient une combinaison des indicateurs suivants :
SHIFT_MASK La touche Maj a été enfoncée pendant l’action.
CTRL_MASK La touche Ctrl a été enfoncée pendant l’action.
ALT_MASK La touche Alt a été enfoncée pendant l’action.
x
Coordonnée x du curseur lorsqu’un bouton de la souris a été libéré. La coordonnée est relative au coin supérieur gauche de la fenêtre de contrôle.
y
Coordonnée y d’un curseur lorsqu’un bouton de la souris a été libéré. La coordonnée est relative au coin supérieur gauche de la fenêtre de contrôle.
Notes
Si cet événement est défini comme un événement personnalisé, vous déterminez quand l’événement est déclenché.
Pour que le déclenchement automatique d’un événement MouseUp se produise, le mappage d’événements du contrôle doit avoir un événement MouseUp stock défini.
COleControl ::FireReadyStateChange
Déclenche un événement avec la valeur actuelle de l’état prêt du contrôle.
void FireReadyStateChange();
Notes
L’état prêt peut être l’une des valeurs suivantes :
Nom | Description |
---|---|
READYSTATE_UNINITIALIZED | État d’initialisation par défaut |
READYSTATE_LOADING | Le contrôle charge actuellement ses propriétés |
READYSTATE_LOADED | Le contrôle a été initialisé |
READYSTATE_INTERACTIVE | Le contrôle a suffisamment de données pour être interactives, mais toutes les données asynchrones ne sont pas encore chargées |
READYSTATE_COMPLETE | Le contrôle a toutes ses données |
Utilisez GetReadyState pour déterminer la préparation actuelle du contrôle.
InternalSetReadyState modifie l’état prêt pour la valeur fournie, puis appelle FireReadyStateChange
.
COleControl ::GetActivationPolicy
Modifie le comportement d’activation par défaut d’un contrôle qui prend en charge l’interface IPointerInactive
.
virtual DWORD GetActivationPolicy();
Valeur de retour
Combinaison d’indicateurs de l’énumération POINTERINACTIVE. Les indicateurs possibles sont les suivants :
Nom | Description |
---|---|
POINTERINACTIVE_ACTIVATEONENTRY | L’objet doit être activé sur place lorsque la souris l’entre pendant une opération de déplacement de la souris. |
POINTERINACTIVE_DEACTIVATEONLEAVE | L’objet doit être désactivé lorsque la souris quitte l’objet pendant une opération de déplacement de la souris. |
POINTERINACTIVE_ACTIVATEONDRAG | L’objet doit être activé sur place lorsque la souris est déplacée sur celle-ci pendant une opération de glisser-déplacer. |
Notes
Lorsque l’interface IPointerInactive
est activée, le conteneur délègue WM_SETCURSOR et WM_MOUSEMOVE messages à celui-ci. COleControl
L’implémentation de cette interface distribue ces messages via la carte des messages de votre contrôle, après avoir ajusté les coordonnées de la souris de manière appropriée.
Chaque fois que le conteneur reçoit un message WM_SETCURSOR ou WM_MOUSEMOVE avec le pointeur de la souris sur un objet inactif prenant en charge IPointerInactive
, il doit appeler GetActivationPolicy
l’interface et retourner des indicateurs de l’énumération POINTERINACTIVE.
Vous pouvez traiter ces messages comme les messages de fenêtre ordinaires, en ajoutant les entrées correspondantes à la carte des messages. Dans vos gestionnaires, évitez d’utiliser la m_hWnd
variable membre (ou toute fonction membre qui l’utilise) sans vérifier d’abord que sa valeur n’est pas NULL.
Tout objet destiné à faire plus que définir le curseur de la souris et/ou déclencher un événement de déplacement de souris, tel que donner des commentaires visuels spéciaux, doit retourner l’indicateur POINTERINACTIVE_ACTIVATEONENTRY et dessiner les commentaires uniquement lorsqu’ils sont actifs. Si l’objet retourne cet indicateur, le conteneur doit l’activer immédiatement sur place, puis le transférer au même message qui a déclenché l’appel GetActivationPolicy
.
Si les indicateurs POINTERINACTIVE_ACTIVATEONENTRY et POINTERINACTIVE_DEACTIVATEONLEAVE sont retournés, l’objet est activé uniquement lorsque la souris est sur l’objet. Si seul l’indicateur POINTERINACTIVE_ACTIVATEONENTRY est retourné, l’objet n’est activé qu’une seule fois lorsque la souris entre d’abord dans l’objet.
Vous souhaiterez peut-être également qu’un contrôle inactif soit la cible d’une opération de glisser-déplacer OLE. Cela nécessite l’activation du contrôle au moment où l’utilisateur fait glisser un objet dessus, afin que la fenêtre du contrôle puisse être inscrite en tant que cible de déplacement. Pour provoquer l’activation pendant un glisser-déplacer, retournez l’indicateur POINTERINACTIVE_ACTIVATEONDRAG :
DWORD CMyAxCtrl::GetActivationPolicy()
{
return POINTERINACTIVE_ACTIVATEONDRAG;
}
Les informations communiquées par GetActivationPolicy
ne doivent pas être mises en cache par un conteneur. Au lieu de cela, cette méthode doit être appelée chaque fois que la souris entre dans un objet inactif.
Si un objet inactif ne demande pas d’être activé sur place lorsque la souris l’entre, son conteneur doit distribuer les messages suivants WM_SETCURSOR à cet objet en appelant OnInactiveSetCursor tant que le pointeur de la souris reste sur l’objet.
L’activation de l’interface IPointerInactive
signifie généralement que vous souhaitez que le contrôle soit capable de traiter les messages de souris à tout moment. Pour obtenir ce comportement dans un conteneur qui ne prend pas en charge l’interface IPointerInactive
, vous devez toujours activer votre contrôle lorsqu’il est visible, ce qui signifie que le contrôle doit avoir l’indicateur OLEMISC_ACTIVATEWHENVISIBLE parmi ses différents indicateurs. Toutefois, pour empêcher que cet indicateur prenne effet dans un conteneur prenant en charge IPointerInactive
, vous pouvez également spécifier l’indicateur OLEMISC_IGNOREACTIVATEWHENVISIBLE :
static const DWORD BASED_CODE _dwMyOleMisc =
OLEMISC_ACTIVATEWHENVISIBLE |
OLEMISC_IGNOREACTIVATEWHENVISIBLE |
OLEMISC_SETCLIENTSITEFIRST |
OLEMISC_INSIDEOUT |
OLEMISC_CANTLINKINSIDE |
OLEMISC_RECOMPOSEONRESIZE;
COleControl ::GetAmbientProperty
Obtient la valeur d’une propriété ambiante du conteneur.
BOOL GetAmbientProperty(
DISPID dispid,
VARTYPE vtProp,
void* pvProp);
Paramètres
dwDispid
ID de répartition de la propriété ambiante souhaitée.
vtProp
Balise de type variant qui spécifie le type de la valeur à retourner dans pvProp.
pvProp
Pointeur vers l’adresse de la variable qui recevra la valeur de propriété ou la valeur de retour. Le type réel de ce pointeur doit correspondre au type spécifié par vtProp.
vtProp | Type de pvProp |
---|---|
VT_BOOL | BOOL* |
VT_BSTR | CString* |
VT_I2 | short* |
VT_I4 | long* |
VT_R4 | float* |
VT_R8 | double* |
VT_CY | CY* |
VT_COLOR | OLE_COLOR* |
VT_DISPATCH | LPDISPATCH* |
VT_FONT | LPFONTDISP* |
Valeur de retour
Différent de zéro si la propriété ambiante est prise en charge ; sinon 0.
Notes
Si vous utilisez GetAmbientProperty
pour récupérer les propriétés DisplayName et ScaleUnits ambiantes, définissez vtProp sur VT_BSTR et pvProp sur CString*
. Si vous récupérez la propriété Font ambiante, définissez vtProp sur VT_FONT et pvProp sur LPFONTDISP*.
Notez que les fonctions ont déjà été fournies pour les propriétés ambiantes courantes, telles que AmbientBackColor et AmbientFont.
COleControl ::GetAppearance
Implémente la fonction Get de la propriété d’apparence de votre contrôle.
short GetAppearance ();
Valeur de retour
La valeur de retour spécifie le paramètre d’apparence actuel sous la forme d’une short
valeur (VT_I2), si elle réussit. Cette valeur est égale à zéro si l’apparence du contrôle est plate et 1 si l’apparence du contrôle est 3D.
COleControl ::GetBackColor
Implémente la fonction Get de la propriété BackColor stock de votre contrôle.
OLE_COLOR GetBackColor();
Valeur de retour
La valeur de retour spécifie la couleur d’arrière-plan actuelle en tant que valeur OLE_COLOR, si elle réussit. Cette valeur peut être traduite en valeur COLORREF avec un appel à TranslateColor
.
COleControl ::GetBorderStyle
Implémente la fonction Get de la propriété BorderStyle de votre contrôle.
short GetBorderStyle();
Valeur de retour
1 si le contrôle a une bordure normale ; 0 si le contrôle n’a pas de bordure.
COleControl ::GetCapture
Détermine si l’objet COleControl
a la capture de la souris.
CWnd* GetCapture();
Valeur de retour
Si le contrôle est activé et sans fenêtre, retourne this
si le contrôle dispose actuellement de la capture de la souris (tel que déterminé par le conteneur du contrôle), ou NULL s’il n’a pas la capture.
Sinon, retourne l’objet CWnd
qui a la capture de la souris (identique à CWnd::GetCapture
).
Notes
Un contrôle sans fenêtre activé reçoit la capture de la souris lorsque SetCapture est appelé.
COleControl ::GetClassID
Appelé par l’infrastructure pour récupérer l’ID de classe OLE du contrôle.
virtual HRESULT GetClassID(LPCLSID pclsid) = 0;
Paramètres
pclsid
Pointeur vers l’emplacement de l’ID de classe.
Valeur de retour
Différent de zéro si l’appel n’a pas réussi ; sinon 0.
Notes
Généralement implémenté par le IMPLEMENT_OLECREATE_EX.
COleControl ::GetClientOffset
Récupère la différence entre le coin supérieur gauche de la zone rectangulaire du contrôle et le coin supérieur gauche de sa zone cliente.
virtual void GetClientOffset(long* pdxOffset, long* pdyOffset) const;
Paramètres
pdxOffset
Pointeur vers le décalage horizontal de la zone cliente du contrôle OLE.
pdyOffset
Pointeur vers le décalage vertical de la zone cliente du contrôle OLE.
Notes
Le contrôle OLE a une zone rectangulaire au sein de son conteneur. La zone cliente du contrôle est la zone de contrôle à l’exclusion des bordures et des barres de défilement. Le décalage récupéré par GetClientOffset
est la différence entre le coin supérieur gauche de la zone rectangulaire du contrôle et le coin supérieur gauche de sa zone cliente. Si votre contrôle a des éléments non clients autres que les bordures standard et les barres de défilement, remplacez cette fonction membre pour spécifier le décalage.
COleControl ::GetClientRect
Récupère la taille de la zone cliente du contrôle.
virtual void GetClientRect(LPRECT lpRect) const;
Paramètres
lpRect
Pointeur vers une RECT
structure contenant les dimensions de la zone cliente du contrôle sans fenêtre ; autrement dit, la taille du contrôle moins les bordures de fenêtre, les cadres, les barres de défilement, et ainsi de suite. Le paramètre lpRect indique la taille du rectangle client du contrôle, et non sa position.
COleControl ::GetClientSite
Interroge un objet pour le pointeur vers son site client actuel dans son conteneur.
LPOLECLIENTSITE GetClientSite();
Valeur de retour
Pointeur vers le site client actuel du contrôle dans son conteneur.
Notes
Le pointeur retourné pointe vers une instance de IOleClientSite
. L’interface IOleClientSite
, implémentée par des conteneurs, est la vue de l’objet de son contexte : où il est ancré dans le document, où il obtient son stockage, son interface utilisateur et d’autres ressources.
COleControl ::GetControlFlags
Récupère les paramètres de l’indicateur de contrôle.
virtual DWORD GetControlFlags();
Valeur de retour
Combinaison ORed des indicateurs dans l’énumération ControlFlags :
enum ControlFlags {
fastBeginPaint = 0x0001,
clipPaintDC = 0x0002,
pointerInactive = 0x0004,
noFlickerActivate = 0x0008,
windowlessActivate = 0x0010,
canOptimizeDraw = 0x0020,
};
Notes
Par défaut, GetControlFlags
retourne fastBeginPaint | clipPaintDC
.
Nom | Description |
---|---|
fastBeginPaint |
Si elle est définie, utilise une fonction begin-paint personnalisée pour les contrôles OLE au lieu de l’API BeginPaint (définie par défaut). |
clipPaintDC |
S’il n’est pas défini, désactive l’appel effectué IntersectClipRect COleControl et bénéficie d’un petit avantage de vitesse. Si vous utilisez l’activation sans fenêtre, l’indicateur n’a aucun effet. |
pointerInactive |
Si elle est définie, fournit une interaction de la souris pendant que votre contrôle est inactif en activant COleControl l’implémentation de l’interface IPointerInactive , qui est désactivée par défaut. |
noFlickerActivate |
Si elle est définie, élimine les opérations de dessin supplémentaires et le scintillement visuel associé. Utilisez quand votre contrôle se dessine de façon identique dans les états inactifs et actifs. Si vous utilisez l’activation sans fenêtre, l’indicateur n’a aucun effet. |
windowlessActivate |
Si cette option est définie, indique que votre contrôle utilise l’activation sans fenêtre. |
canOptimizeDraw |
Si elle est définie, indique que le contrôle effectue un dessin optimisé, si le conteneur le prend en charge. |
Pour plus d’informations sur GetControlFlags
les contrôles OLE et d’autres optimisations, consultez Contrôles ActiveX : Optimisation.
COleControl ::GetControlSize
Récupère la taille de la fenêtre de contrôle OLE.
void GetControlSize(
int* pcx,
int* pcy);
Paramètres
pcx
Spécifie la largeur du contrôle en pixels.
pcy
Spécifie la hauteur du contrôle en pixels.
Notes
Notez que toutes les coordonnées des fenêtres de contrôle sont relatives au coin supérieur gauche du contrôle.
COleControl ::GetDC
Fournit un objet sans fenêtre pour obtenir un contexte d’appareil d’écran (ou compatible) à partir de son conteneur.
CDC* GetDC(
LPCRECT lprcRect = NULL,
DWORD dwFlags = OLEDC_PAINTBKGND);
Paramètres
lprcRect
Pointeur vers le rectangle que le contrôle sans fenêtre souhaite redessiner, dans les coordonnées clientes du contrôle. NULL signifie que l’étendue de l’objet complet.
dwFlags
Attributs de dessin du contexte de l’appareil. Les choix sont les suivants :
OLEDC_NODRAW Indique que l’objet n’utilise pas le contexte de l’appareil pour effectuer un dessin, mais simplement pour obtenir des informations sur l’appareil d’affichage. Le conteneur doit simplement passer le contrôleur de domaine de la fenêtre sans traitement supplémentaire.
OLEDC_PAINTBKGND Demande que le conteneur peint l’arrière-plan avant de retourner le contrôleur de domaine. Un objet doit utiliser cet indicateur s’il demande un contrôleur de domaine pour redessiner une zone avec un arrière-plan transparent.
OLEDC_OFFSCREEN informe le conteneur que l’objet souhaite afficher dans une bitmap hors écran qui doit ensuite être copiée à l’écran. Un objet doit utiliser cet indicateur lorsque l’opération de dessin qu’il est sur le point d’effectuer génère beaucoup de scintillement. Le conteneur est libre d’honorer cette demande ou non. Toutefois, si cet indicateur n’est pas défini, le conteneur doit remettre un contrôleur de domaine à l’écran. Cela permet aux objets d’effectuer des opérations d’écran directes, telles que l’affichage d’une sélection (via une opération XOR ).
Valeur de retour
Pointeur vers le contexte de l’appareil d’affichage de la zone cliente conteneur CWnd
si elle réussit ; sinon, la valeur de retour est NULL. Le contexte de l’appareil d’affichage peut être utilisé dans les fonctions GDI suivantes pour dessiner dans la zone cliente de la fenêtre du conteneur.
Notes
La fonction membre ReleaseDC doit être appelée pour libérer le contexte après la peinture. Lors de l’appel GetDC
, les objets passent le rectangle dans lequel ils souhaitent dessiner dans leurs propres coordonnées clientes. GetDC
les traduit en coordonnées de la zone cliente de conteneur. L’objet ne doit pas demander un rectangle de dessin souhaité plus grand que son propre rectangle de zone cliente, dont la taille peut être récupérée avec GetClientRect. Cela empêche les objets de dessiner par inadvertance où ils ne sont pas censés.
COleControl ::GetEnabled
Implémente la fonction Get de la propriété Active de votre contrôle.
BOOL GetEnabled();
Valeur de retour
Différent de zéro si le contrôle est activé ; sinon 0.
COleControl ::GetExtendedControl
Obtient un pointeur vers un objet géré par le conteneur qui représente le contrôle avec un ensemble étendu de propriétés.
LPDISPATCH GetExtendedControl();
Valeur de retour
Pointeur vers l’objet de contrôle étendu du conteneur. S’il n’existe aucun objet disponible, la valeur est NULL.
Cet objet peut être manipulé via son IDispatch
interface. Vous pouvez également utiliser QueryInterface
pour obtenir d’autres interfaces disponibles fournies par l’objet. Toutefois, l’objet n’est pas nécessaire pour prendre en charge un ensemble spécifique d’interfaces. Notez que l’utilisation des fonctionnalités spécifiques de l’objet de contrôle étendu d’un conteneur limite la portabilité de votre contrôle à d’autres conteneurs arbitraires.
Notes
La fonction qui appelle cette fonction est chargée de libérer le pointeur lorsqu’elle est terminée avec l’objet. Notez que le conteneur n’est pas requis pour prendre en charge cet objet.
COleControl ::GetFocus
Détermine si l’objet COleControl
a le focus.
CWnd* GetFocus();
Valeur de retour
Si le contrôle est activé et sans fenêtre, retourne this
si le contrôle a actuellement le focus clavier (tel que déterminé par le conteneur du contrôle) ou NULL s’il n’a pas le focus.
Sinon, retourne l’objet CWnd
qui a le focus (identique à CWnd::GetFocus
).
Notes
Un contrôle sans fenêtre activé reçoit le focus lorsque SetFocus est appelé.
COleControl ::GetFont
Implémente la fonction Get de la propriété Font stock.
LPFONTDISP GetFont();
Valeur de retour
Pointeur vers l’interface de répartition de police de la propriété Font stock du contrôle.
Notes
Notez que l’appelant doit libérer l’objet une fois terminé. Dans l’implémentation du contrôle, utilisez-le InternalGetFont
pour accéder à l’objet Font stock du contrôle. Pour plus d’informations sur l’utilisation de polices dans votre contrôle, consultez l’article Contrôles ActiveX : Utilisation de polices dans un contrôle ActiveX.
COleControl ::GetFontTextMetrics
Mesure les métriques de texte pour tout CFontHolder
objet appartenant au contrôle.
void GetFontTextMetrics(
LPTEXTMETRIC lptm,
CFontHolder& fontHolder);
Paramètres
lptm
Pointeur vers une structure TEXTMETRIC .
fontHolder
Référence à un objet CFontHolder .
Notes
Une telle police peut être sélectionnée avec la fonction COleControl ::SelectFontObject . GetFontTextMetrics
initialise la TEXTMETRIC
structure pointée par lptm avec des informations de métriques valides sur fontHolder
la police si elle réussit, ou remplit la structure avec des zéros s’il n’a pas réussi. Vous devez utiliser cette fonction au lieu de GetTextMetrics lors de la peinture de votre contrôle, car des contrôles, comme n’importe quel objet OLE incorporé, peuvent être nécessaires pour se rendre dans un métafichier.
La TEXTMETRIC
structure de la police par défaut est actualisée lorsque la fonction SelectFontObject est appelée. Vous devez appeler GetFontTextMetrics
uniquement après avoir sélectionné la propriété Font stock pour vous assurer que les informations fournies sont valides.
COleControl ::GetForeColor
Implémente la fonction Get de la propriété ForeColor stock.
OLE_COLOR GetForeColor();
Valeur de retour
La valeur de retour spécifie la couleur de premier plan actuelle en tant que valeur OLE_COLOR, si elle réussit. Cette valeur peut être traduite en valeur COLORREF avec un appel à TranslateColor
.
COleControl ::GetHwnd
Implémente la fonction Get de la propriété hWnd stock.
OLE_HANDLE GetHwnd();
Valeur de retour
Handle de fenêtre du contrôle OLE, le cas échéant ; sinon NULL.
COleControl ::GetMessageString
Appelé par l’infrastructure pour obtenir une chaîne courte qui décrit l’objectif de l’élément de menu identifié par nID.
virtual void GetMessageString(
UINT nID,
CString& rMessage) const;
Paramètres
nID
ID d’élément de menu.
rMessage
Référence à un objet CString par le biais duquel une chaîne sera retournée.
Notes
Cela peut être utilisé pour obtenir un message à afficher dans une barre d’état pendant que l’élément de menu est mis en surbrillance. L’implémentation par défaut tente de charger une ressource de chaîne identifiée par nID.
COleControl ::GetNotSupported
Empêche l’accès à la valeur de propriété d’un contrôle par l’utilisateur.
void GetNotSupported();
Notes
Appelez cette fonction à la place de la fonction Get de toute propriété où la récupération de la propriété par l’utilisateur du contrôle n’est pas prise en charge. Par exemple, il s’agit d’une propriété qui est en écriture seule.
COleControl ::GetReadyState
Retourne l’état de préparation du contrôle.
long GetReadyState();
Valeur de retour
État de préparation du contrôle, l’une des valeurs suivantes :
Nom | Description |
---|---|
READYSTATE_UNINITIALIZED | État d’initialisation par défaut |
READYSTATE_LOADING | Le contrôle charge actuellement ses propriétés |
READYSTATE_LOADED | Le contrôle a été initialisé |
READYSTATE_INTERACTIVE | Le contrôle a suffisamment de données pour être interactives, mais toutes les données asynchrones ne sont pas encore chargées |
READYSTATE_COMPLETE | Le contrôle a toutes ses données |
Notes
Les contrôles les plus simples n’ont jamais besoin de faire la distinction entre LOADED et INTERACTIVE. Toutefois, les contrôles qui prennent en charge les propriétés de chemin d’accès aux données peuvent ne pas être interactifs tant qu’au moins certaines données ne sont pas reçues de manière asynchrone. Un contrôle doit tenter de devenir interactif dès que possible.
COleControl ::GetRectInContainer
Obtient les coordonnées du rectangle du contrôle par rapport au conteneur, exprimées en unités d’appareil.
BOOL GetRectInContainer(LPRECT lpRect);
Paramètres
lpRect
Pointeur vers la structure de rectangle dans laquelle les coordonnées du contrôle seront copiées.
Valeur de retour
Différent de zéro si le contrôle est actif sur place ; sinon 0.
Notes
Le rectangle est valide uniquement si le contrôle est actif sur place.
COleControl ::GetStockTextMetrics
Mesure les métriques de texte de la propriété Font stock du contrôle, qui peuvent être sélectionnées avec la fonction SelectStockFont .
void GetStockTextMetrics(LPTEXTMETRIC lptm);
Paramètres
lptm
Pointeur vers une structure TEXTMETRIC .
Notes
La GetStockTextMetrics
fonction initialise la TEXTMETRIC
structure pointée par lptm avec des informations de métriques valides si elle réussit, ou remplit la structure avec des zéros s’il n’a pas réussi. Utilisez cette fonction au lieu de GetTextMetrics lors de la peinture de votre contrôle, car des contrôles, comme n’importe quel objet OLE incorporé, peuvent être nécessaires pour se rendre dans un métafichier.
La TEXTMETRIC
structure de la police par défaut est actualisée lorsque la SelectStockFont
fonction est appelée. Vous devez appeler cette fonction uniquement après avoir sélectionné la police de stock pour garantir que les informations fournies sont valides.
COleControl ::GetText
Implémente la fonction Get de la propriété Text ou Caption stock.
BSTR GetText();
Valeur de retour
Valeur actuelle de la chaîne de texte du contrôle ou d’une chaîne de longueur nulle si aucune chaîne n’est présente.
Remarque
Pour plus d’informations sur le type de données BSTR, consultez la section Types de données dans la section Macros et Globals.
Notes
Notez que l’appelant de cette fonction doit appeler SysFreeString
la chaîne retournée pour libérer la ressource. Dans l’implémentation du contrôle, utilisez InternalGetText
cette option pour accéder à la propriété Texte ou Légende du contrôle.
COleControl ::GetWindowlessDropTarget
Remplacez GetWindowlessDropTarget
quand vous souhaitez qu’un contrôle sans fenêtre soit la cible d’une opération de glisser-déplacer OLE.
virtual IDropTarget* GetWindowlessDropTarget();
Valeur de retour
Pointeur vers l’interface de l’objet IDropTarget
. Étant donné qu’il n’a pas de fenêtre, un objet sans fenêtre ne peut pas inscrire une IDropTarget
interface. Toutefois, pour participer au glisser-déplacer, un objet sans fenêtre peut toujours implémenter l’interface et le retourner dans GetWindowlessDropTarget
.
Notes
Normalement, cela suppose que la fenêtre de contrôle soit stockée en tant que cible de déplacement. Toutefois, étant donné que le contrôle n’a pas de fenêtre propre, le conteneur utilise sa propre fenêtre comme cible de suppression. Le contrôle doit simplement fournir une implémentation de l’interface IDropTarget
à laquelle le conteneur peut déléguer des appels au moment approprié. Par exemple :
IDropTarget *CMyAxCtrl::GetWindowlessDropTarget()
{
m_xDropTarget.AddRef();
return &m_xDropTarget;
}
COleControl ::InitializeIIDs
Informe la classe de base des IID que le contrôle utilisera.
void InitializeIIDs(
const IID* piidPrimary,
const IID* piidEvents);
Paramètres
piidPrimary
Pointeur vers l’ID d’interface de l’interface de répartition principale du contrôle.
piidEvents
Pointeur vers l’ID d’interface de l’interface d’événement du contrôle.
Notes
Appelez cette fonction dans le constructeur du contrôle pour informer la classe de base des ID d’interface que votre contrôle utilisera.
COleControl ::InternalGetFont
Accède à la propriété Font stock de votre contrôle
CFontHolder& InternalGetFont();
Valeur de retour
Référence à un objet CFontHolder qui contient l’objet Font stock.
COleControl ::InternalGetText
Accède à la propriété Texte ou Légende boursier de votre contrôle.
const CString& InternalGetText();
Valeur de retour
Référence à la chaîne de texte du contrôle.
COleControl ::InternalSetReadyState
Définit l’état de préparation du contrôle.
void InternalSetReadyState(long lNewReadyState);
Paramètres
lNewReadyState
État de préparation à définir pour le contrôle, l’une des valeurs suivantes :
Nom | Description |
---|---|
READYSTATE_UNINITIALIZED | État d’initialisation par défaut |
READYSTATE_LOADING | Le contrôle charge actuellement ses propriétés |
READYSTATE_LOADED | Le contrôle a été initialisé |
READYSTATE_INTERACTIVE | Le contrôle a suffisamment de données pour être interactives, mais toutes les données asynchrones ne sont pas encore chargées |
READYSTATE_COMPLETE | Le contrôle a toutes ses données |
Notes
Les contrôles les plus simples n’ont jamais besoin de faire la distinction entre LOADED et INTERACTIVE. Toutefois, les contrôles qui prennent en charge les propriétés de chemin d’accès aux données peuvent ne pas être interactifs tant qu’au moins certaines données ne sont pas reçues de manière asynchrone. Un contrôle doit tenter de devenir interactif dès que possible.
COleControl ::InvalidateControl
Force le contrôle à redessiner lui-même.
void InvalidateControl(
LPCRECT lpRect = NULL,
BOOL bErase = TRUE);
Paramètres
lpRect
Pointeur vers la région du contrôle à invalider.
bErase
Spécifie si l’arrière-plan de la région de mise à jour doit être effacé lorsque la région de mise à jour est traitée.
Notes
Si lpRect a une valeur NULL, l’intégralité du contrôle sera redessinée. Si lpRect n’est pas NULL, cela indique la partie du rectangle du contrôle à invalider. Dans les cas où le contrôle n’a pas de fenêtre ou n’est actuellement pas actif, le rectangle est ignoré et un appel est effectué à la fonction membre IAdviseSink ::OnViewChange du site client. Utilisez cette fonction au lieu de CWnd::InvalidateRect
ou InvalidateRect
.
COleControl ::InvalidateRgn
Invalide la zone cliente de la fenêtre de conteneur dans la région donnée.
void InvalidateRgn(CRgn* pRgn, BOOL bErase = TRUE);
Paramètres
pRgn
Pointeur vers un objet CRgn qui identifie la région d’affichage de l’objet OLE à invalider, dans les coordonnées clientes de la fenêtre conteneur. Si ce paramètre a la valeur NULL, l’étendue est l’objet entier.
bErase
Spécifie si l’arrière-plan de la région invalidée doit être effacé. Si la valeur est TRUE, l’arrière-plan est effacé. Si la valeur est FALSE, l’arrière-plan reste inchangé.
Notes
Cela peut être utilisé pour redessiner des contrôles sans fenêtre dans le conteneur. La région invalidée, ainsi que toutes les autres zones de la région de mise à jour, est marquée pour la peinture lorsque le message de WM_PAINT suivant est envoyé.
Si bErase a la valeur TRUE pour une partie de la région de mise à jour, l’arrière-plan de la région entière, et non seulement dans la partie donnée, est effacé.
COleControl ::IsConvertingVBX
Autorise le chargement spécialisé d’un contrôle OLE.
BOOL IsConvertingVBX();
Valeur de retour
Différent de zéro si le contrôle est en cours de conversion ; sinon 0.
Notes
Lors de la conversion d’un formulaire qui utilise des contrôles VBX en un qui utilise des contrôles OLE, un code de chargement spécial pour les contrôles OLE peut être nécessaire. Par exemple, si vous chargez une instance de votre contrôle OLE, vous pouvez avoir un appel à PX_Font dans votre DoPropExchange
:
PX_Font(pPX, _T("Font"), *m_pMyFont, &DefaultFont);
Toutefois, les contrôles VBX n’ont pas d’objet Font ; chaque propriété de police a été enregistrée individuellement. Dans ce cas, vous devez faire IsConvertingVBX
la distinction entre ces deux cas :
if (!IsConvertingVBX())
{
PX_Font(pPX, _T("Font"), *m_pMyFont, &DefaultFont);
}
else
{
PX_String(pPX, _T("FontName"), tempString, DefaultName);
m_pMyFont->m_pFont->put_Name(tempString.AllocSysString());
PX_Bool(pPX, _T("FontUnderline"), tempBool, DefaultValue);
m_pMyFont->m_pFont->put_Underline(tempBool);
}
Un autre cas serait si votre contrôle VBX a enregistré des données binaires propriétaires (dans son gestionnaire de messages VBM_SAVEPROPERTY), et votre contrôle OLE enregistre ses données binaires dans un autre format. Si vous souhaitez que votre contrôle OLE soit compatible avec le contrôle VBX, vous pouvez lire les anciens et nouveaux formats à l’aide de la IsConvertingVBX
fonction en déterminant si le contrôle VBX ou le contrôle OLE a été chargé.
Dans la fonction de DoPropExchange
votre contrôle, vous pouvez rechercher cette condition et, si la valeur est true, exécutez le code de chargement spécifique à cette conversion (par exemple, les exemples précédents). Si le contrôle n’est pas converti, vous pouvez exécuter du code de chargement normal. Cette capacité s’applique uniquement aux contrôles convertis à partir de équivalents VBX.
COleControl ::IsInvokeAllowed
Active l’appel de méthode Automation.
BOOL IsInvokeAllowed(DISPID dispid);
Valeur de retour
Différent de zéro si le contrôle a été initialisé ; sinon 0.
Notes
L’implémentation de l’infrastructure des IDispatch::Invoke
appels IsInvokeAllowed
pour déterminer si une fonction donnée (identifiée par dispid
) peut être appelée. Le comportement par défaut d’un contrôle OLE consiste à autoriser les méthodes d’automatisation à appeler uniquement si le contrôle a été initialisé ; toutefois, IsInvokeAllowed
est une fonction virtuelle et peut être remplacée si nécessaire (par exemple, lorsque le contrôle est utilisé en tant que serveur Automation).
COleControl ::IsModified
Détermine si l’état du contrôle a été modifié.
BOOL IsModified();
Valeur de retour
Différent de zéro si l’état du contrôle a été modifié depuis son dernier enregistrement ; sinon 0.
Notes
L’état d’un contrôle est modifié lorsqu’une propriété change de valeur.
COleControl ::IsOptimizedDraw
Détermine si le conteneur prend en charge le dessin optimisé pour l’opération de dessin actuelle.
BOOL IsOptimizedDraw();
Valeur de retour
TRUE si le conteneur prend en charge le dessin optimisé pour l’opération de dessin actuelle ; sinon FALSE.
Notes
Si le dessin optimisé est pris en charge, le contrôle n’a pas besoin de sélectionner d’anciens objets (stylets, pinceaux, polices, etc.) dans le contexte de l’appareil lorsque le dessin est terminé.
COleControl ::IsSubclassedControl
Appelé par l’infrastructure pour déterminer si le contrôle sous-classe un contrôle Windows.
virtual BOOL IsSubclassedControl();
Valeur de retour
Différent de zéro si le contrôle est sous-classé ; sinon 0.
Notes
Vous devez remplacer cette fonction et retourner TRUE si votre contrôle OLE sous-classe un contrôle Windows.
COleControl ::Load
Réinitialise les données précédentes chargées de façon asynchrone et lance un nouveau chargement de la propriété asynchrone du contrôle.
void Load(LPCTSTR strNewPath, CDataPathProperty& prop);
Paramètres
strNewPath
Pointeur vers une chaîne contenant le chemin d’accès qui fait référence à l’emplacement absolu de la propriété de contrôle asynchrone.
appui
Objet CDataPathProperty implémentant une propriété de contrôle asynchrone.
COleControl ::LockInPlaceActive
Empêche le conteneur de désactiver votre contrôle.
BOOL LockInPlaceActive(BOOL bLock);
Paramètres
bloquer
TRUE si l’état actif sur place du contrôle doit être verrouillé ; FALSE s’il doit être déverrouillé.
Valeur de retour
Différent de zéro si le verrou a réussi ; sinon 0.
Notes
Notez que chaque verrouillage du contrôle doit être associé à un déverrouillage du contrôle une fois terminé. Vous ne devez verrouiller votre contrôle que pendant de courtes périodes, par exemple lors du déclenchement d’un événement.
COleControl ::OnAmbientPropertyChange
Appelé par l’infrastructure lorsqu’une propriété ambiante du conteneur a changé de valeur.
virtual void OnAmbientPropertyChange(DISPID dispid);
Paramètres
dispID
ID de répartition de la propriété ambiante qui a changé, ou DISPID_UNKNOWN si plusieurs propriétés ont changé.
COleControl ::OnAppearanceChanged
Appelé par l’infrastructure lorsque la valeur de propriété d’apparence du stock a changé.
virtual void OnAppearanceChanged ();
Notes
Remplacez cette fonction si vous souhaitez la notification après que cette propriété change. Appels d’implémentation InvalidateControl
par défaut .
COleControl ::OnBackColorChanged
Appelé par l’infrastructure lorsque la valeur de propriété BackColor boursier a changé.
virtual void OnBackColorChanged();
Notes
Remplacez cette fonction si vous souhaitez la notification après que cette propriété change. Appels d’implémentation InvalidateControl
par défaut .
COleControl ::OnBorderStyleChanged
Appelé par l’infrastructure lorsque la valeur de propriété BorderStyle a changé.
virtual void OnBorderStyleChanged();
Notes
Appels d’implémentation InvalidateControl
par défaut .
Remplacez cette fonction si vous souhaitez la notification après que cette propriété change.
COleControl ::OnClick
Appelé par l’infrastructure lorsqu’un bouton de souris a été cliqué ou que la méthode de stock DoClick a été appelée.
virtual void OnClick(USHORT iButton);
Paramètres
iButton
Index d’un bouton de souris. Peut avoir l'une des valeurs suivantes :
LEFT_BUTTON Le bouton gauche de la souris a été cliqué.
MIDDLE_BUTTON Le bouton de la souris centrale a été cliqué.
RIGHT_BUTTON Le bouton droit de la souris a été cliqué.
Notes
Appels d’implémentation COleControl::FireClick
par défaut .
Remplacez cette fonction membre pour modifier ou étendre la gestion par défaut.
COleControl ::OnClose
Appelé par l’infrastructure lorsque le conteneur a appelé la fonction du IOleControl::Close
contrôle.
virtual void OnClose(DWORD dwSaveOption);
Paramètres
dwSaveOption
Indicateur qui indique si l’objet doit être enregistré avant le chargement. Les valeurs valides sont :
OLECLOSE_SAVEIFDIRTY
OLECLOSE_NOSAVE
OLECLOSE_PROMPTSAVE
Notes
Par défaut, OnClose
enregistre l’objet de contrôle s’il a été modifié et dwSaveOption est OLECLOSE_SAVEIFDIRTY ou OLECLOSE_PROMPTSAVE.
COleControl ::OnDoVerb
Appelé par l’infrastructure lorsque le conteneur appelle la IOleObject::DoVerb
fonction membre.
virtual BOOL OnDoVerb(
LONG iVerb,
LPMSG lpMsg,
HWND hWndParent,
LPCRECT lpRect);
Paramètres
iVerb
Index du verbe de contrôle à appeler.
lpMsg
Pointeur vers le message Windows qui a provoqué l’appel du verbe.
hWndParent
Handle vers la fenêtre parente du contrôle. Si l’exécution du verbe crée une fenêtre (ou des fenêtres), hWndParent doit être utilisé comme parent.
lpRect
Pointeur vers une structure RECT dans laquelle les coordonnées du contrôle, relatives au conteneur, seront copiées.
Valeur de retour
Différent de zéro si l’appel a réussi ; sinon 0.
Notes
L’implémentation par défaut utilise les entrées de mappage de messages ON_OLEVERB et ON_STDOLEVERB pour déterminer la fonction appropriée à appeler.
Remplacez cette fonction pour modifier la gestion par défaut du verbe.
COleControl ::OnDraw
Appelé par l’infrastructure pour dessiner le contrôle OLE dans le rectangle englobant spécifié à l’aide du contexte d’appareil spécifié.
virtual void OnDraw(
CDC* pDC,
const CRect& rcBounds,
const CRect& rcInvalid);
Paramètres
pDC
Contexte d’appareil dans lequel le dessin se produit.
rcBounds
Zone rectangulaire du contrôle, y compris la bordure.
rcInvalid
Zone rectangulaire du contrôle non valide.
Notes
OnDraw
est généralement appelé pour l’affichage de l’écran, en passant un contexte d’appareil d’écran en tant que contrôleur de domaine principal. Le paramètre rcBounds identifie le rectangle dans le contexte de l’appareil cible (par rapport à son mode de mappage actuel). Le paramètre rcInvalid est le rectangle réel non valide. Dans certains cas, il s’agit d’une zone plus petite que rcBounds.
COleControl ::OnDrawMetafile
Appelé par l’infrastructure pour dessiner le contrôle OLE dans le rectangle englobant spécifié à l’aide du contexte d’appareil de métafichier spécifié.
virtual void OnDrawMetafile(
CDC* pDC,
const CRect& rcBounds);
Paramètres
pDC
Contexte d’appareil dans lequel le dessin se produit.
rcBounds
Zone rectangulaire du contrôle, y compris la bordure.
Notes
L’implémentation par défaut appelle la fonction OnDraw .
COleControl ::OnEdit
Provoque l’activation du contrôle.
virtual BOOL OnEdit(
LPMSG lpMsg,
HWND hWndParent,
LPCRECT lpRect);
Paramètres
lpMsg
Pointeur vers le message Windows qui a appelé le verbe.
hWndParent
Handle vers la fenêtre parente du contrôle.
lpRect
Pointeur vers le rectangle utilisé par le contrôle dans le conteneur.
Valeur de retour
Différent de zéro si l’appel réussit ; sinon 0.
Notes
Cela a le même effet que l’appel du verbe OLEIVERB_UIACTIVATE du contrôle.
Cette fonction est généralement utilisée comme fonction de gestionnaire pour une entrée de mappage de messages ON_OLEVERB. Cela rend un verbe « Modifier » disponible dans le menu « Objet » du contrôle. Par exemple :
ON_OLEVERB(AFX_IDS_VERB_EDIT, OnEdit)
COleControl ::OnEnabledChanged
Appelé par l’infrastructure lorsque la valeur de propriété Activée en stock a changé.
virtual void OnEnabledChanged();
Notes
Remplacez cette fonction si vous souhaitez la notification après que cette propriété change. L’implémentation par défaut appelle InvalidateControl.
COleControl ::OnEnumVerbs
Appelé par l’infrastructure lorsque le conteneur appelle la IOleObject::EnumVerbs
fonction membre.
virtual BOOL OnEnumVerbs(LPENUMOLEVERB* ppenumOleVerb);
Paramètres
ppenumOleVerb
Pointeur vers l’objet IEnumOLEVERB
qui énumère les verbes du contrôle.
Valeur de retour
Différent de zéro si les verbes sont disponibles ; sinon 0.
Notes
L’implémentation par défaut énumère les entrées ON_OLEVERB dans le mappage de messages.
Remplacez cette fonction pour modifier la façon par défaut d’énumérer des verbes.
COleControl ::OnEventAdvise
Appelé par l’infrastructure lorsqu’un gestionnaire d’événements est connecté ou déconnecté d’un contrôle OLE.
virtual void OnEventAdvise(BOOL bAdvise);
Paramètres
bAdvise
TRUE indique qu’un gestionnaire d’événements a été connecté au contrôle. FALSE indique qu’un gestionnaire d’événements a été déconnecté du contrôle.
COleControl ::OnFontChanged
Appelé par l’infrastructure lorsque la valeur de la propriété Font stock a changé.
virtual void OnFontChanged();
Notes
Appels d’implémentation COleControl::InvalidateControl
par défaut . Si le contrôle sous-classe un contrôle Windows, l’implémentation par défaut envoie également un message WM_SETFONT à la fenêtre du contrôle.
Remplacez cette fonction si vous souhaitez la notification après que cette propriété change.
Exemple
void CMyAxCtrl::OnFontChanged()
{
// Always set it to the container's font
if (m_MyEdit.m_hWnd != NULL)
{
IFontDisp *pFontDisp = NULL;
IFont *pFont = NULL;
HRESULT hr;
// Get the container's FontDisp interface
pFontDisp = AmbientFont();
if (pFontDisp)
{
hr = pFontDisp->QueryInterface(IID_IFont, (LPVOID*)&pFont);
if (FAILED(hr))
{
pFontDisp->Release();
return;
}
}
HFONT hFont = NULL;
if (pFont)
{
pFont->get_hFont(&hFont);
m_MyEdit.SendMessage(WM_SETFONT, (WPARAM)hFont, 0L);
}
pFontDisp->Release();
}
// Invalidate the control
m_MyEdit.Invalidate();
m_MyEdit.UpdateWindow();
COleControl::OnFontChanged();
}
COleControl ::OnForeColorChanged
Appelé par l’infrastructure lorsque la valeur de propriété ForeColor a changé.
virtual void OnForeColorChanged();
Notes
Appels d’implémentation InvalidateControl
par défaut .
Remplacez cette fonction si vous souhaitez la notification après que cette propriété change.
COleControl ::OnFreezeEvents
Appelé par l’infrastructure après l’appel IOleControl::FreezeEvents
du conteneur .
virtual void OnFreezeEvents(BOOL bFreeze);
Paramètres
bFreeze
TRUE si la gestion des événements du contrôle est figée ; sinon FALSE.
Notes
L'implémentation par défaut n'exécute aucune opération.
Remplacez cette fonction si vous souhaitez un comportement supplémentaire lorsque la gestion des événements est figée ou non chiffrée.
COleControl ::OnGetColorSet
Appelé par l’infrastructure lorsque le conteneur appelle la IViewObject::GetColorSet
fonction membre.
virtual BOOL OnGetColorSet(
DVTARGETDEVICE* ptd,
HDC hicTargetDev,
LPLOGPALETTE* ppColorSet);
Paramètres
Ptd
Pointe vers l’appareil cible pour lequel l’image doit être affichée. Si cette valeur est NULL, l’image doit être rendue pour un appareil cible par défaut, généralement un appareil d’affichage.
hicTargetDev
Spécifie le contexte d’informations sur l’appareil cible indiqué par ptd. Ce paramètre peut être un contexte d’appareil, mais il n’en est pas nécessairement un. Si ptd est NULL, hicTargetDev doit également être NULL.
ppColorSet
Pointeur vers l’emplacement dans lequel l’ensemble de couleurs à utiliser doit être copié. Si la fonction ne retourne pas le jeu de couleurs, LA valeur NULL est retournée.
Valeur de retour
Différent de zéro si un jeu de couleurs valide est retourné ; sinon 0.
Notes
Le conteneur appelle cette fonction pour obtenir toutes les couleurs nécessaires pour dessiner le contrôle OLE. Le conteneur peut utiliser les jeux de couleurs obtenus conjointement avec les couleurs dont il a besoin pour définir la palette de couleurs globale. L’implémentation par défaut retourne FALSE.
Remplacez cette fonction pour effectuer un traitement spécial de cette requête.
COleControl ::OnGetControlInfo
Appelé par l’infrastructure lorsque le conteneur du contrôle a demandé des informations sur le contrôle.
virtual void OnGetControlInfo(LPCONTROLINFO pControlInfo);
Paramètres
pControlInfo
Pointeur vers une structure CONTROLINFO à remplir.
Notes
Ces informations se composent principalement d’une description des clés mnemoniques du contrôle. L’implémentation par défaut remplit pControlInfo avec des informations par défaut.
Remplacez cette fonction si votre contrôle doit traiter des clés mnémoniques.
COleControl ::OnGetDisplayString
Appelé par l’infrastructure pour obtenir une chaîne qui représente la valeur actuelle de la propriété identifiée par dispid.
virtual BOOL OnGetDisplayString(
DISPID dispid,
CString& strValue);
Paramètres
dispid
ID de distribution d’une propriété du contrôle.
strValue
Référence à un objet CString par le biais duquel une chaîne sera retournée.
Valeur de retour
Différent de zéro si une chaîne a été retournée dans strValue ; sinon, 0.
Notes
Remplacez cette fonction si votre contrôle a une propriété dont la valeur ne peut pas être convertie directement en chaîne et que vous souhaitez que la valeur de la propriété s’affiche dans un navigateur de propriétés fourni par conteneur.
COleControl ::OnGetInPlaceMenu
Appelé par l’infrastructure lorsque l’interface utilisateur du contrôle est activée pour obtenir le menu à fusionner dans le menu existant du conteneur.
virtual HMENU OnGetInPlaceMenu();
Valeur de retour
Handle du menu du contrôle, ou NULL si le contrôle n’a aucun. L’implémentation par défaut retourne NULL.
Notes
Pour plus d’informations sur la fusion des ressources OLE, consultez l’article Menus et Ressources (OLE) .
COleControl ::OnGetNaturalExtent
Appelé par l’infrastructure en réponse à la demande d’un IViewObjectEx::GetNaturalExtent
conteneur.
virtual BOOL OnGetNaturalExtent(
DWORD dwAspect,
LONG lindex,
DVTARGETDEVICE* ptd,
HDC hicTargetDev,
DVEXTENTINFO* pExtentInfo,
LPSIZEL psizel);
Paramètres
dwAspect
Spécifie la représentation de l'objet. Les représentations incluent du contenu, une icône, une miniature ou un document imprimé. Les valeurs valides sont extraites de l’énumération DVASPECT ou DVASPECT2.
lindex
Partie de l’objet qui est intéressant. Actuellement, seul -1 est valide.
Ptd
Pointe vers la structure DVTARGETDEVICE définissant l’appareil cible pour lequel la taille de l’objet doit être retournée.
hicTargetDev
Spécifie le contexte d’informations de l’appareil cible indiqué par le paramètre ptd à partir duquel l’objet peut extraire les métriques de l’appareil et tester les fonctionnalités de l’appareil. Si ptd est NULL, l’objet doit ignorer la valeur dans le paramètre hicTargetDev .
pExtentInfo
Pointe vers la DVEXTENTINFO
structure qui spécifie les données de dimensionnement. La DVEXTENTINFO
structure est la suivante :
typedef struct tagExtentInfo
{
UINT cb;
DWORD dwExtentMode;
SIZEL sizelProposed;
} DVEXTENTINFO;
Le membre dwExtentMode
de structure peut prendre l’une des deux valeurs suivantes :
DVEXTENT_CONTENT Demandez à quel point le contrôle doit être important pour ajuster exactement le contenu (composant logiciel enfichable)
DVEXTENT_INTEGRAL Lors du redimensionnement, passez la taille proposée pour contrôler
psizel
Pointe vers le dimensionnement des données retournées par le contrôle. Les données de dimensionnement retournées sont définies sur -1 pour toute dimension qui n’a pas été ajustée.
Valeur de retour
Différent de zéro s’il retourne ou ajuste correctement la taille ; sinon 0.
Notes
Remplacez cette fonction pour renvoyer la taille d’affichage de l’objet la plus proche de la taille proposée et ex mode tente dans la DVEXTENTINFO
structure. L’implémentation par défaut retourne FALSE et n’effectue aucun ajustement de la taille.
COleControl ::OnGetPredefinedStrings
Appelé par l’infrastructure pour obtenir un ensemble de chaînes prédéfinies représentant les valeurs possibles d’une propriété.
virtual BOOL OnGetPredefinedStrings(
DISPID dispid,
CStringArray* pStringArray,
CDWordArray* pCookieArray);
Paramètres
dispid
ID de distribution d’une propriété du contrôle.
pStringArray
Tableau de chaînes à remplir avec des valeurs de retour.
pCookieArray
Tableau DWORD à remplir avec des valeurs de retour.
Valeur de retour
Différent de zéro si des éléments ont été ajoutés à pStringArray et pCookieArray.
Notes
Remplacez cette fonction si votre contrôle a une propriété avec un ensemble de valeurs possibles qui peuvent être représentées par des chaînes. Pour chaque élément ajouté à pStringArray, vous devez ajouter un élément « cookie » correspondant à pCookieArray. Ces valeurs de « cookie » peuvent être passées ultérieurement par l’infrastructure à la COleControl::OnGetPredefinedValue
fonction.
COleControl ::OnGetPredefinedValue
Appelé par l’infrastructure pour obtenir la valeur correspondant à l’une des chaînes prédéfinies précédemment retournées par un remplacement de COleControl::OnGetPredefinedStrings
.
virtual BOOL OnGetPredefinedValue(
DISPID dispid,
DWORD dwCookie,
VARIANT* lpvarOut);
Paramètres
dispid
ID de distribution d’une propriété du contrôle.
dwCookie
Valeur de cookie précédemment retournée par une substitution de COleControl::OnGetPredefinedStrings
.
lpvarOut
Pointeur vers une VARIANT
structure à travers laquelle une valeur de propriété sera retournée.
Valeur de retour
Différent de zéro si une valeur a été retournée dans lpvarOut ; sinon, 0.
COleControl ::OnGetViewExtent
Appelé par l’infrastructure en réponse à la requête IViewObject2 ::GetExtent d’un conteneur.
virtual BOOL OnGetViewExtent(
DWORD dwDrawAspect,
LONG lindex,
DVTARGETDEVICE* ptd,
LPSIZEL lpsizel);
Paramètres
dwDrawAspect
DWORD décrivant le formulaire ou l’aspect d’un objet doit être affiché. Les valeurs valides sont extraites de l’énumération DVASPECT ou DVASPECT2.
lindex
Partie de l’objet qui est intéressant. Actuellement, seul -1 est valide.
Ptd
Pointe vers la structure DVTARGETDEVICE définissant l’appareil cible pour lequel la taille de l’objet doit être retournée.
lpsizel
Pointe vers l’emplacement où la taille de l’objet est retournée.
Valeur de retour
Différent de zéro si les informations d’étendue sont correctement retournées ; sinon 0.
Notes
Remplacez cette fonction si votre contrôle utilise un dessin à deux passes et que ses parties opaques et transparentes ont des dimensions différentes.
COleControl ::OnGetViewRect
Appelé par l’infrastructure en réponse à la demande d’un IViewObjectEx::GetRect
conteneur.
virtual BOOL OnGetViewRect(DWORD dwAspect, LPRECTL pRect);
Paramètres
dwAspect
DWORD décrivant le formulaire ou l’aspect d’un objet doit être affiché. Les valeurs valides sont extraites de l’énumération DVASPECT ou DVASPECT2 :
DVASPECT_CONTENT rectangle englobant de l’objet entier. Coin supérieur gauche à l’origine de l’objet et taille égale à l’étendue retournée par
GetViewExtent
.DVASPECT_OPAQUE Objets avec une région opaque rectangulaire retourne ce rectangle. D’autres échouent.
DVASPECT_TRANSPARENT Rectangle couvrant toutes les parties transparentes ou irrégulières.
pRect
Pointe vers la structure RECTL spécifiant le rectangle dans lequel l’objet doit être dessiné. Ce paramètre contrôle le positionnement et l’étirement de l’objet.
Valeur de retour
Différent de zéro si le rectangle dimensionné à l’objet est retourné avec succès ; sinon 0.
Notes
La taille de l’objet est convertie OnGetViewRect
en rectangle à partir d’une position spécifique (la valeur par défaut est le coin supérieur gauche de l’affichage). Remplacez cette fonction si votre contrôle utilise un dessin à deux passes et que ses parties opaques et transparentes ont des dimensions différentes.
COleControl ::OnGetViewStatus
Appelé par l’infrastructure en réponse à la demande d’un IViewObjectEx::GetViewStatus
conteneur.
virtual DWORD OnGetViewStatus();
Valeur de retour
Une des valeurs de l’énumération VIEWSTATUS en cas de réussite ; sinon 0. Les valeurs possibles sont toutes les combinaisons des éléments suivants :
Nom | Description |
---|---|
VIEWSTATUS_OPAQUE | L’objet est complètement opaque. Si ce bit n’est pas défini, l’objet contient des parties transparentes. Ce bit s’applique uniquement aux aspects liés au contenu et non aux DVASPECT_ICON ou aux DVASPECT_DOCPRINT. |
VIEWSTATUS_SOLIDBKGND | L’objet a un arrière-plan unie (composé d’une couleur unie, et non d’un modèle de pinceau). Ce bit n’est significatif que si VIEWSTATUS_OPAQUE est défini et s’applique uniquement aux aspects liés au contenu et non à DVASPECT_ICON ou DVASPECT_DOCPRINT. |
VIEWSTATUS_DVASPECTOPAQUE | L’objet prend en charge DVASPECT_OPAQUE. Toutes les méthodes IViewObjectEx qui prennent un aspect de dessin en tant que paramètre peuvent être appelées avec cet aspect. |
VIEWSTATUS_DVASPECTTRANSPARENT | L’objet prend en charge DVASPECT_TRANSPARENT. Toutes les IViewObjectEx méthodes qui prennent un aspect de dessin en tant que paramètre peuvent être appelées avec cet aspect. |
Notes
Remplacez cette fonction si votre contrôle utilise un dessin à deux passes. L’implémentation par défaut retourne VIEWSTATUS_OPAQUE.
COleControl ::OnHideToolBars
Appelé par l’infrastructure lorsque l’interface utilisateur du contrôle est désactivée.
virtual void OnHideToolBars();
Notes
L’implémentation doit masquer toutes les barres d’outils affichées par OnShowToolbars
.
COleControl ::OnInactiveMouseMove
Appelé par le conteneur de l’objet inactif sous le pointeur de la souris lors de la réception d’un message WM_MOUSEMOVE.
virtual void OnInactiveMouseMove(
LPCRECT lprcBounds,
long x,
long y,
DWORD dwKeyState);
Paramètres
lprcBounds
Rectangle englobant d’objets, dans les coordonnées clientes de la fenêtre contenante. Indique à l’objet sa position et sa taille exactes à l’écran lorsque le message WM_MOUSEMOVE a été reçu.
x
Coordonnée x de l’emplacement de la souris dans les coordonnées clientes de la fenêtre contenante.
y
Coordonnée y de l’emplacement de la souris dans les coordonnées clientes de la fenêtre contenante.
dwKeyState
Identifie l’état actuel des touches de modificateur de clavier sur le clavier. Les valeurs valides peuvent être une combinaison de l’un des indicateurs MK_CONTROL, MK_SHIFT, MK_ALT, MK_BUTTON, MK_LBUTTON, MK_MBUTTON et MK_RBUTTON.
Notes
Notez que les coordonnées clientes de fenêtre (pixels) sont utilisées pour passer la position du curseur de la souris. Cela est rendu possible en passant également le rectangle englobant de l’objet dans le même système de coordonnées.
COleControl ::OnInactiveSetCursor
Appelé par le conteneur pour l’objet inactif sous le pointeur de la souris lors de la réception d’un message WM_SETCURSOR.
virtual BOOL OnInactiveSetCursor(
LPCRECT lprcBounds,
long x,
long y,
DWORD dwMouseMsg,
BOOL bSetAlways);
Paramètres
lprcBounds
Rectangle englobant d’objets, dans les coordonnées clientes de la fenêtre contenante. Indique à l’objet sa position et sa taille exactes à l’écran lorsque le message WM_SETCURSOR a été reçu.
x
Coordonnée x de l’emplacement de la souris dans les coordonnées clientes de la fenêtre contenante.
y
Coordonnée y de l’emplacement de la souris dans les coordonnées clientes de la fenêtre contenante.
dwMouseMsg
Identificateur du message de la souris pour lequel une WM_SETCURSOR s’est produite.
bSetAlways
Spécifie si l’objet doit définir ou non le curseur. Si la valeur est TRUE, l’objet doit définir le curseur ; si la valeur est FALSE, le curseur n’est pas obligé de définir le curseur et doit retourner S_FALSE dans ce cas.
Valeur de retour
Valeur différente de zéro cas de réussite ; sinon, 0.
Notes
Notez que les coordonnées clientes de fenêtre (pixels) sont utilisées pour passer la position du curseur de la souris. Cela est rendu possible en passant également le rectangle englobant de l’objet dans le même système de coordonnées.
COleControl ::OnKeyDownEvent
Appelé par l’infrastructure après le traitement d’un événement KeyDown boursier.
virtual void OnKeyDownEvent(
USHORT nChar,
USHORT nShiftState);
Paramètres
nChar
Valeur de code de clé virtuelle de la touche enfoncée. Pour obtenir la liste des codes de clé virtuelle standard, consultez Winuser.h
nShiftState
Contient une combinaison des indicateurs suivants :
SHIFT_MASK La touche Maj a été enfoncée pendant l’action.
CTRL_MASK La touche Ctrl a été enfoncée pendant l’action.
ALT_MASK La touche Alt a été enfoncée pendant l’action.
Notes
Remplacez cette fonction si votre contrôle a besoin d’accéder aux informations de clé une fois l’événement déclenché.
COleControl ::OnKeyPressEvent
Appelé par l’infrastructure après le déclenchement de l’événement KeyPress boursier.
virtual void OnKeyPressEvent(USHORT nChar);
Paramètres
nChar
Contient la valeur du code de clé virtuelle de la touche enfoncée. Pour obtenir la liste des codes de clé virtuelle standard, consultez Winuser.h
Notes
Notez que la valeur nChar a peut-être été modifiée par le conteneur.
Remplacez cette fonction si vous souhaitez une notification après cet événement.
COleControl ::OnKeyUpEvent
Appelé par l’infrastructure après le traitement d’un événement KeyDown boursier.
virtual void OnKeyUpEvent(
USHORT nChar,
USHORT nShiftState);
Paramètres
nChar
Valeur de code de clé virtuelle de la touche enfoncée. Pour obtenir la liste des codes de clé virtuelle standard, consultez Winuser.h
nShiftState
Contient une combinaison des indicateurs suivants :
SHIFT_MASK La touche Maj a été enfoncée pendant l’action.
CTRL_MASK La touche Ctrl a été enfoncée pendant l’action.
ALT_MASK La touche Alt a été enfoncée pendant l’action.
Notes
Remplacez cette fonction si votre contrôle a besoin d’accéder aux informations de clé une fois l’événement déclenché.
COleControl ::OnMapPropertyToPage
Appelé par l’infrastructure pour obtenir l’ID de classe d’une page de propriétés qui implémente la modification de la propriété spécifiée.
virtual BOOL OnMapPropertyToPage(
DISPID dispid,
LPCLSID lpclsid,
BOOL* pbPageOptional);
Paramètres
dispid
ID de distribution d’une propriété du contrôle.
lpclsid
Pointeur vers une CLSID
structure à travers laquelle un ID de classe sera retourné.
pbPageOptional
Retourne un indicateur indiquant si l’utilisation de la page de propriétés spécifiée est facultative.
Valeur de retour
Différent de zéro si un ID de classe a été retourné dans lpclsid ; sinon, 0.
Notes
Remplacez cette fonction pour fournir un moyen d’appeler les pages de propriétés de votre contrôle à partir du navigateur de propriétés du conteneur.
COleControl ::OnMnemonic
Appelé par l’infrastructure lorsque le conteneur a détecté qu’une clé mnémonique du contrôle OLE a été enfoncée.
virtual void OnMnemonic(LPMSG pMsg);
Paramètres
pMsg
Pointeur vers le message Windows généré par une pression sur une touche mnémonique.
COleControl ::OnProperties
Appelé par l’infrastructure lorsque le verbe de propriétés du contrôle a été appelé par le conteneur.
virtual BOOL OnProperties(
LPMSG lpMsg,
HWND hWndParent,
LPCRECT lpRect);
Paramètres
lpMsg
Pointeur vers le message Windows qui a appelé le verbe.
hWndParent
Handle vers la fenêtre parente du contrôle.
lpRect
Pointeur vers le rectangle utilisé par le contrôle dans le conteneur.
Valeur de retour
Différent de zéro si l’appel réussit ; sinon 0.
Notes
L’implémentation par défaut affiche une boîte de dialogue de propriété modale.
Vous pouvez également utiliser cette fonction pour provoquer l’affichage des pages de propriétés de votre contrôle. Effectuez un appel à la OnProperties
fonction, en passant le handle du parent de votre contrôle dans le paramètre hWndParent . Dans ce cas, les valeurs des paramètres lpMsg et lpRect sont ignorées.
COleControl ::OnQueryHitPoint
Appelé par l’infrastructure en réponse à la demande d’un IViewObjectEx::QueryHitPoint
conteneur.
virtual BOOL OnQueryHitPoint(
DWORD dwAspect,
LPCRECT pRectBounds,
POINT ptlLoc,
LONG lCloseHint,
DWORD* pHitResult);
Paramètres
dwAspect
Spécifie la façon dont l’objet est représenté. Les valeurs valides sont extraites de l’énumération DVASPECT ou DVASPECT2.
pRectBounds
Pointeur vers une RECT
structure spécifiant le rectangle englobant de la zone cliente du contrôle OLE.
ptlLoc
Pointeur vers la POINT
structure spécifiant le point à vérifier pour une correspondance. Le point est spécifié dans les coordonnées de la zone cliente OLE.
lCloseHint
Distance qui définit « fermer » au point vérifié pour un coup.
pHitResult
Pointeur vers le résultat de la requête d’accès. Une des valeurs suivantes :
HITRESULT_OUTSIDE ptlLoc se trouve en dehors de l’objet OLE et ne se ferme pas.
HITRESULT_TRANSPARENT ptlLoc se trouve dans les limites de l’objet OLE, mais pas près de l’image. Par exemple, un point au milieu d’un cercle transparent peut être HITRESULT_TRANSPARENT.
HITRESULT_CLOSE ptlLoc est à l’intérieur ou à l’extérieur de l’objet OLE, mais assez proche de l’objet à considérer à l’intérieur. Les objets petits, minces ou détaillés peuvent utiliser cette valeur. Même si un point se trouve en dehors du rectangle englobant d’un objet, il peut toujours être proche (cela est nécessaire pour atteindre de petits objets).
HITRESULT_HIT ptlLoc se trouve dans l’image de l’objet.
Valeur de retour
Différent de zéro si un résultat d’accès est correctement retourné ; sinon 0. Une correspondance est un chevauchement avec la zone d’affichage du contrôle OLE.
Notes
Interroge si le rectangle d’affichage d’un objet chevauche le point donné (atteint le point). QueryHitPoint
peut être substitué pour tester les correspondances pour les objets non rectangulaires.
COleControl ::OnQueryHitRect
Appelé par l’infrastructure en réponse à la demande d’un IViewObjectEx::QueryHitRect
conteneur.
virtual BOOL OnQueryHitRect(
DWORD dwAspect,
LPCRECT pRectBounds,
LPCRECT prcLoc,
LONG lCloseHint,
DWORD* pHitResult);
Paramètres
dwAspect
Spécifie la représentation de l'objet. Les valeurs valides sont extraites de l’énumération DVASPECT ou DVASPECT2.
pRectBounds
Pointeur vers une RECT
structure spécifiant le rectangle englobant de la zone cliente du contrôle OLE.
prcLoc
Pointeur vers la RECT
structure spécifiant le rectangle à rechercher (chevaucher le rectangle de l’objet), par rapport au coin supérieur gauche de l’objet.
lCloseHint
Aucun affichage.
pHitResult
Pointeur vers le résultat de la requête d’accès. Une des valeurs suivantes :
HITRESULT_OUTSIDE aucun point dans le rectangle n’est atteint par l’objet OLE.
HITRESULT_HIT au moins un point dans le rectangle serait un accès sur l’objet.
Valeur de retour
Différent de zéro si un résultat d’accès est correctement retourné ; sinon 0.
Notes
Interroge si le rectangle d’affichage d’un objet chevauche n’importe quel point dans le rectangle donné (atteint le rectangle). QueryHitRect
peut être substitué pour tester les correspondances pour les objets non rectangulaires.
COleControl ::OnRenderData
Appelé par l’infrastructure pour récupérer les données au format spécifié.
virtual BOOL OnRenderData(
LPFORMATETC lpFormatEtc,
LPSTGMEDIUM lpStgMedium);
Paramètres
lpFormatEtc
Pointe vers la structure FORMATETC spécifiant le format dans lequel les informations sont demandées.
lpStgMedium
Pointe vers une structure STGMEDIUM dans laquelle les données doivent être retournées.
Valeur de retour
Valeur différente de zéro cas de réussite ; sinon, 0.
Notes
Le format spécifié est un précédemment placé dans l’objet de contrôle à l’aide des fonctions membres DelayRenderData ou DelayRenderFileData pour le rendu différé. L’implémentation par défaut de cette fonction appelle OnRenderFileData
ou OnRenderGlobalData
, respectivement, si le support de stockage fourni est un fichier ou une mémoire. Si le format demandé est CF_METAFILEPICT ou si le format de jeu de propriétés persistants est défini, l’implémentation par défaut affiche les données appropriées et retourne une valeur différente de zéro. Sinon, elle retourne 0 et ne fait rien.
Si lpStgMedium-tymed> est TYMED_NULL, le STGMEDIUM doit être alloué et rempli comme spécifié par lpFormatEtc-tymed>. Si ce n’est pas TYMED_NULL, le STGMEDIUM doit être rempli en place avec les données.
Remplacez cette fonction pour fournir vos données au format et au support demandés. Selon vos données, vous pouvez remplacer l’une des autres versions de cette fonction à la place. Si vos données sont petites et fixes en taille, remplacez OnRenderGlobalData
. Si vos données se trouvent dans un fichier ou sont de taille variable, remplacez OnRenderFileData
.
Pour plus d’informations, consultez les structures et STGMEDIUM
les FORMATETC
structures dans le Kit de développement logiciel (SDK) Windows.
COleControl ::OnRenderFileData
Appelé par l’infrastructure pour récupérer des données au format spécifié lorsque le support de stockage est un fichier.
virtual BOOL OnRenderFileData(
LPFORMATETC lpFormatEtc,
CFile* pFile);
Paramètres
lpFormatEtc
Pointe vers la structure FORMATETC spécifiant le format dans lequel les informations sont demandées.
pFile
Pointe vers un objet CFile dans lequel les données doivent être rendues.
Valeur de retour
Valeur différente de zéro cas de réussite ; sinon, 0.
Notes
Le format spécifié est un précédemment placé dans l’objet de contrôle à l’aide de la fonction membre DelayRenderData pour le rendu différé. L’implémentation par défaut de cette fonction retourne simplement FALSE.
Remplacez cette fonction pour fournir vos données au format et au support demandés. Selon vos données, vous pouvez remplacer l’une des autres versions de cette fonction à la place. Si vous souhaitez gérer plusieurs supports de stockage, remplacez OnRenderData
. Si vos données se trouvent dans un fichier ou sont de taille variable, remplacez OnRenderFileData
.
Pour plus d’informations, consultez la FORMATETC
structure du Kit de développement logiciel (SDK) Windows.
COleControl ::OnRenderGlobalData
Appelé par l’infrastructure pour récupérer des données au format spécifié lorsque le support de stockage spécifié est la mémoire globale.
virtual BOOL OnRenderGlobalData(
LPFORMATETC lpFormatEtc,
HGLOBAL* phGlobal);
Paramètres
lpFormatEtc
Pointe vers la structure FORMATETC spécifiant le format dans lequel les informations sont demandées.
phGlobal
Pointe vers un handle vers la mémoire globale dans laquelle les données doivent être retournées. Si aucune mémoire n’a été allouée, ce paramètre peut être NULL.
Valeur de retour
Valeur différente de zéro cas de réussite ; sinon, 0.
Notes
Le format spécifié est un précédemment placé dans l’objet de contrôle à l’aide de la fonction membre DelayRenderData pour le rendu différé. L’implémentation par défaut de cette fonction retourne simplement FALSE.
Si phGlobal est NULL, un nouveau HGLOBAL doit être alloué et retourné dans phGlobal. Sinon, le HGLOBAL spécifié par phGlobal doit être rempli avec les données. La quantité de données placées dans le HGLOBAL ne doit pas dépasser la taille actuelle du bloc de mémoire. En outre, le bloc ne peut pas être réaffecté à une plus grande taille.
Remplacez cette fonction pour fournir vos données au format et au support demandés. Selon vos données, vous pouvez remplacer l’une des autres versions de cette fonction à la place. Si vous souhaitez gérer plusieurs supports de stockage, remplacez OnRenderData
. Si vos données se trouvent dans un fichier ou sont de taille variable, remplacez OnRenderFileData
.
Pour plus d’informations, consultez la FORMATETC
structure du Kit de développement logiciel (SDK) Windows.
COleControl ::OnResetState
Appelé par l’infrastructure lorsque les propriétés du contrôle doivent être définies sur leurs valeurs par défaut.
virtual void OnResetState();
Notes
L’implémentation par défaut appelle DoPropExchange, en passant un CPropExchange
objet qui entraîne la définition des propriétés sur leurs valeurs par défaut.
L’enregistreur de contrôles peut insérer du code d’initialisation pour le contrôle OLE dans cette substitution. Cette fonction est appelée lorsque IPersistStream ::Load ou IPersistStorage ::Load échoue, ou IPersistStreamInit ::InitNew ou IPersistStorage ::InitNew est appelé, sans appeler l’un ou l’autreIPersistStream::Load
.IPersistStorage::Load
COleControl ::OnSetClientSite
Appelé par l’infrastructure lorsque le conteneur a appelé la fonction du IOleControl::SetClientSite
contrôle.
virtual void OnSetClientSite();
Notes
Par défaut, vérifie si les OnSetClientSite
propriétés du chemin d’accès aux données sont chargées et, si elles le sont, appellent DoDataPathPropExchange
.
Remplacez cette fonction pour effectuer un traitement spécial de cette notification. En particulier, les remplacements de cette fonction doivent appeler la classe de base.
COleControl ::OnSetData
Appelé par l’infrastructure pour remplacer les données du contrôle par les données spécifiées.
virtual BOOL OnSetData(
LPFORMATETC lpFormatEtc,
LPSTGMEDIUM lpStgMedium,
BOOL bRelease);
Paramètres
lpFormatEtc
Pointeur vers une structure FORMATETC spécifiant le format des données.
lpStgMedium
Pointeur vers une structure STGMEDIUM dans laquelle résident les données.
bRelease
TRUE si le contrôle doit libérer le support de stockage ; FALSE si le contrôle ne doit pas libérer le support de stockage.
Valeur de retour
Valeur différente de zéro cas de réussite ; sinon, 0.
Notes
Si les données se situent au format de jeu de propriétés persistants, l’implémentation par défaut modifie l’état du contrôle en conséquence. Sinon, l’implémentation par défaut ne fait rien. Si bRelease a la valeur TRUE, un appel est ReleaseStgMedium
effectué ; sinon.
Remplacez cette fonction pour remplacer les données du contrôle par les données spécifiées.
Pour plus d’informations, consultez les structures et STGMEDIUM
les FORMATETC
structures dans le Kit de développement logiciel (SDK) Windows.
COleControl ::OnSetExtent
Appelé par l’infrastructure lorsque l’étendue du contrôle doit être modifiée, suite à un appel à IOleObject ::SetExtent.
virtual BOOL OnSetExtent(LPSIZEL lpSizeL);
Paramètres
lpSizeL
Pointeur vers la SIZEL
structure qui utilise des entiers longs pour représenter la largeur et la hauteur du contrôle, exprimées en unités HIMETRIC.
Valeur de retour
Différent de zéro si la modification de taille a été acceptée ; sinon 0.
Notes
L’implémentation par défaut gère le redimensionnement de l’étendue du contrôle. Si le contrôle est actif sur place, un appel aux conteneurs OnPosRectChanged
est effectué.
Remplacez cette fonction pour modifier le redimensionnement par défaut de votre contrôle.
COleControl ::OnSetObjectRects
Appelé par l’infrastructure pour implémenter un appel à IOleInPlaceObject ::SetObjectRects.
virtual BOOL OnSetObjectRects(
LPCRECT lpRectPos,
LPCRECT lpRectClip);
Paramètres
lpRectPos
Pointeur vers une RECT
structure indiquant la nouvelle position et la nouvelle taille du contrôle par rapport au conteneur.
lpRectClip
Pointeur vers une RECT
structure indiquant une zone rectangulaire vers laquelle le contrôle doit être coupé.
Valeur de retour
Différent de zéro si le repositionnement a été accepté ; sinon 0.
Notes
L’implémentation par défaut gère automatiquement le repositionnement et le redimensionnement de la fenêtre de contrôle et retourne TRUE.
Remplacez cette fonction pour modifier le comportement par défaut de cette fonction.
COleControl ::OnShowToolBars
Appelé par l’infrastructure lorsque l’interface utilisateur du contrôle a été activée.
virtual void OnShowToolBars();
Notes
L'implémentation par défaut n'exécute aucune opération.
COleControl ::OnTextChanged
Appelé par l’infrastructure lorsque la valeur de propriété de légende ou de texte a changé.
virtual void OnTextChanged();
Notes
Appels d’implémentation InvalidateControl
par défaut .
Remplacez cette fonction si vous souhaitez la notification après que cette propriété change.
COleControl ::OnWindowlessMessage
Appelé par l’infrastructure en réponse à la demande d’un IOleInPlaceObjectWindowless::OnWindowMessage
conteneur.
virtual BOOL OnWindowlessMessage(
UINT msg,
WPARAM wParam,
LPARAM lParam,
LRESULT* plResult);
Paramètres
msg
Identificateur de message tel qu’il est passé par Windows.
wParam
Tel qu’il est passé par Windows. Spécifie des informations supplémentaires spécifiques aux messages. Le contenu de ce paramètre dépend de la valeur du paramètre msg .
lParam
Tel qu’il est passé par Windows. Spécifie des informations supplémentaires spécifiques aux messages. Le contenu de ce paramètre dépend de la valeur du paramètre msg .
plResult
Code de résultat Windows. Spécifie le résultat du traitement du message et dépend du message envoyé.
Valeur de retour
Valeur différente de zéro cas de réussite ; sinon, 0.
Notes
Traite les messages de fenêtre pour les contrôles sans fenêtre. COleControl
doit OnWindowlessMessage
être utilisé pour les messages de fenêtre autres que les messages de souris et les messages clavier. COleControl
fournit SetCapture et SetFocus spécifiquement pour obtenir la capture de souris et le focus clavier pour les objets OLE sans fenêtre.
Étant donné que les objets sans fenêtre n’ont pas de fenêtre, ils ont besoin d’un mécanisme pour permettre au conteneur de les distribuer. Un objet OLE sans fenêtre obtient des messages de son conteneur, via la méthode sur l’interface OnWindowMessage
IOleInPlaceObjectWindowless
(extension d’IOleInPlaceObject pour la prise en charge sans fenêtre). OnWindowMessage
ne prend pas de HWND
paramètre.
COleControl ::P arentToClient
Convertit les coordonnées de pPoint en coordonnées clientes.
virtual UINT ParentToClient(
LPCRECT lprcBounds,
LPPOINT pPoint,
BOOL bHitTest = FALSE) const;
Paramètres
lprcBounds
Pointeur vers les limites du contrôle OLE dans le conteneur. Pas la zone cliente, mais la zone de l’ensemble du contrôle, y compris les bordures et les barres de défilement.
pPoint
Pointeur vers le point parent (conteneur) à traduire en coordonnées de la zone cliente du contrôle.
bHitTest
Spécifie si les tests de positionnement doivent être effectués sur le point.
Valeur de retour
Si bHitTest a la valeur FALSE, retourne HTNOWHERE. Si bHitTest a la valeur TRUE, retourne l’emplacement dans lequel le point parent (conteneur) a atterri dans la zone cliente du contrôle OLE et est l’une des valeurs de test d’accès à la souris suivantes :
HTBORDER Dans la bordure d’une fenêtre qui n’a pas de bordure de dimensionnement.
HTBOTTOM Dans la bordure horizontale inférieure de la fenêtre.
HTBOTTOMLEFT Dans le coin inférieur gauche de la bordure de la fenêtre.
HTBOTTOMRIGHT Dans le coin inférieur droit de la bordure de la fenêtre.
HTCAPTION Dans une zone de barre de titre.
HTCLIENT dans une zone cliente.
HTERROR Sur l’arrière-plan de l’écran ou sur une ligne de division entre les fenêtres (identique à HTNOWHERE, sauf que la
DefWndProc
fonction Windows produit un bip système pour indiquer une erreur).HTGROWBOX Dans une boîte de taille.
HTHSCROLL Dans la barre de défilement horizontale.
HTLEFT Dans la bordure gauche de la fenêtre.
HTMAXBUTTON Dans un bouton Agrandir.
HTMENU Dans une zone de menu.
HTMINBUTTON Dans un bouton Réduire.
HTNOWHERE Sur l’arrière-plan de l’écran ou sur une ligne de division entre les fenêtres.
HTREDUCE Dans un bouton Réduire.
HTRIGHT Dans la bordure droite de la fenêtre.
HTSIZE Dans une boîte de taille (identique à HTGROWBOX).
HTSYSMENU Dans un menu Contrôle ou dans un bouton Fermer dans une fenêtre enfant.
HTTOP Dans la bordure horizontale supérieure de la fenêtre.
HTTOPLEFT Dans le coin supérieur gauche de la bordure de la fenêtre.
HTTOPRIGHT Dans le coin supérieur droit de la bordure de la fenêtre.
HTTRANSPARENT Dans une fenêtre actuellement couverte par une autre fenêtre.
HTVSCROLL Dans la barre de défilement verticale.
HTZOOM Dans un bouton Agrandir.
Notes
Sur l’entrée pPoint est relatif à l’origine du parent (coin supérieur gauche du conteneur). Sur la sortie pPoint est relatif à l’origine de la zone cliente du contrôle OLE (coin supérieur gauche de la zone cliente du contrôle).
COleControl ::P ostModalDialog
Avertit le conteneur qu’une boîte de dialogue modale a été fermée.
void PostModalDialog(HWND hWndParent = NULL);
Paramètres
hWndParent
Gérez la fenêtre parente de la boîte de dialogue modale.
Notes
Appelez cette fonction après avoir affiché n’importe quelle boîte de dialogue modale. Vous devez appeler cette fonction pour que le conteneur puisse activer toutes les fenêtres de niveau supérieur désactivées par PreModalDialog
. Cette fonction doit être associée à un appel à PreModalDialog
.
COleControl ::P reModalDialog
Avertit le conteneur qu’une boîte de dialogue modale est sur le point d’être affichée.
void PreModalDialog(HWND hWndParent = NULL);
Paramètres
hWndParent
Gérez la fenêtre parente de la boîte de dialogue modale.
Notes
Appelez cette fonction avant d’afficher une boîte de dialogue modale. Vous devez appeler cette fonction pour que le conteneur puisse désactiver toutes ses fenêtres de niveau supérieur. Une fois la boîte de dialogue modale affichée, vous devez ensuite appeler PostModalDialog
.
COleControl ::RecreateControlWindow
Détruit et recrée la fenêtre du contrôle.
void RecreateControlWindow();
Notes
Cela peut être nécessaire si vous devez modifier les bits de style de la fenêtre.
COleControl ::Refresh
Force un repaint du contrôle OLE.
void Refresh();
Notes
Cette fonction est prise en charge par la COleControl
classe de base en tant que méthode stock, appelée Refresh. Cela permet aux utilisateurs de votre contrôle OLE de repeindre le contrôle à un moment spécifique. Pour plus d’informations sur cette méthode, consultez l’article ActiveX Controls : Methods.
COleControl ::ReleaseCapture
Libère la capture de la souris.
BOOL ReleaseCapture();
Valeur de retour
Valeur différente de zéro cas de réussite ; sinon, 0.
Notes
Si le contrôle possède actuellement la capture de la souris, la capture est libérée. Sinon, cette fonction n’a aucun effet.
COleControl ::ReleaseDC
Libère le contexte d’appareil d’affichage d’un conteneur d’un contrôle sans fenêtre, en libérant le contexte de l’appareil à utiliser par d’autres applications.
int ReleaseDC(CDC* pDC);
Paramètres
pDC
Identifie le contexte de l’appareil conteneur à libérer.
Valeur de retour
Valeur différente de zéro cas de réussite ; sinon, 0.
Notes
L’application doit appeler ReleaseDC
chaque appel à GetDC.
COleControl ::ReparentControlWindow
Définit le parent du contrôle.
virtual void ReparentControlWindow(
HWND hWndOuter,
HWND hWndParent);
Paramètres
hWndOuter
Handle de la fenêtre de contrôle.
hWndParent
Handle de la nouvelle fenêtre parente.
Notes
Appelez cette fonction pour réinitialiser le parent de la fenêtre de contrôle.
COleControl ::ResetStockProps
Initialise l’état des COleControl
propriétés de stock à leurs valeurs par défaut.
void ResetStockProps();
Notes
Les propriétés sont : Apparence, BackColor, BorderStyle, Caption, Enabled, Font, ForeColor, hWnd et Text. Pour obtenir une description des propriétés de stock, consultez Contrôles ActiveX : Ajout de propriétés de stock.
Vous pouvez améliorer les performances d’initialisation binaire d’un contrôle à l’aide ResetStockProps
et ResetVersion
à remplacer COleControl::OnResetState
. Reportez-vous à l’exemple ci-dessous. Pour plus d’informations sur l’optimisation de l’initialisation, consultez Contrôles ActiveX : Optimisation.
Exemple
void CMyAxCtrl::OnResetState()
{
ResetVersion(MAKELONG(_wVerMinor, _wVerMajor));
ResetStockProps();
// initialize custom properties here
}
COleControl ::ResetVersion
Initialise le numéro de version à la valeur spécifiée.
void ResetVersion(DWORD dwVersionDefault);
Paramètres
dwVersionDefault
Numéro de version à affecter au contrôle.
Notes
Vous pouvez améliorer les performances d’initialisation binaire d’un contrôle à l’aide ResetVersion
et ResetStockProps
à remplacer COleControl::OnResetState
. Consultez l’exemple de ResetStockProps. Pour plus d’informations sur l’optimisation de l’initialisation, consultez Contrôles ActiveX : Optimisation.
COleControl ::ScrollWindow
Permet à un objet OLE sans fenêtre de faire défiler une zone dans son image active sur place à l’écran.
void ScrollWindow(
int xAmount,
int yAmount,
LPCRECT lpRect = NULL,
LPCRECT lpClipRect = NULL);
Paramètres
xAmount
Spécifie la quantité, en unités d’appareil, de défilement horizontal. Ce paramètre doit être une valeur négative à faire défiler vers la gauche.
yAmount
Spécifie la quantité, en unités d’appareil, de défilement vertical. Ce paramètre doit être une valeur négative à faire défiler vers le haut.
lpRect
Pointe vers un objet CRect ou une structure RECT qui spécifie la partie de la zone cliente de l’objet OLE à faire défiler, dans les coordonnées clientes de la fenêtre conteneur. Si lpRect a la valeur NULL, la zone cliente de l’objet OLE entière est défiler.
lpClipRect
Pointe vers un objet ou RECT
une CRect
structure qui spécifie le rectangle à découper. Seuls les pixels à l’intérieur du rectangle sont défilements. Les bits en dehors du rectangle ne sont pas affectés même s’ils se trouvent dans le rectangle lpRect . Si lpClipRect a la valeur NULL, aucune capture n’est effectuée sur le rectangle de défilement.
COleControl ::SelectFontObject
Sélectionne une police dans un contexte d’appareil.
CFont* SelectFontObject(
CDC* pDC,
CFontHolder& fontHolder);
Paramètres
pDC
Pointeur vers un objet de contexte d’appareil.
fontHolder
Référence à l’objet CFontHolder représentant la police à sélectionner.
Valeur de retour
Pointeur vers la police précédemment sélectionnée. Lorsque l’appelant a terminé toutes les opérations de dessin qui utilisent l’espace réservé, elle doit réélectionner la police précédemment sélectionnée en la transmettant en tant que paramètre à CDC ::SelectObject.
COleControl ::SelectStockFont
Sélectionne la propriété Font stock dans un contexte d’appareil.
CFont* SelectStockFont(CDC* pDC);
Paramètres
pDC
Contexte d’appareil dans lequel la police sera sélectionnée.
Valeur de retour
Pointeur vers l’objet précédemment sélectionné CFont
. Vous devez utiliser CDC ::SelectObject pour sélectionner cette police dans le contexte de l’appareil lorsque vous avez terminé.
COleControl ::SerializeExtent
Sérialise ou initialise l’état de l’espace d’affichage alloué au contrôle.
void SerializeExtent(CArchive& ar);
Paramètres
Ar
Objet CArchive
à sérialiser vers ou depuis.
Notes
Vous pouvez améliorer les performances de persistance binaire d’un contrôle à l’aide SerializeExtent
de , SerializeStockProps
et SerializeVersion
pour remplacer COleControl::Serialize
. Reportez-vous à l’exemple ci-dessous. Pour plus d’informations sur l’optimisation de l’initialisation, consultez Contrôles ActiveX : Optimisation.
Exemple
void CMyAxCtrl::Serialize(CArchive &ar)
{
SerializeVersion(ar, MAKELONG(_wVerMinor, _wVerMajor));
SerializeExtent(ar);
SerializeStockProps(ar);
if (ar.IsStoring())
{ // storing code
}
else
{ // loading code
}
}
COleControl ::SerializeStockProps
Sérialise ou initialise l’état des COleControl
propriétés de stock : Apparence, BackColor, BorderStyle, Caption, Enabled, Police, ForeColor et Text.
void SerializeStockProps(CArchive& ar);
Paramètres
Ar
Objet CArchive
à sérialiser vers ou depuis.
Notes
Pour obtenir une description des propriétés de stock, consultez Contrôles ActiveX : Ajout de propriétés de stock.
Vous pouvez améliorer les performances de persistance binaire d’un contrôle à l’aide SerializeStockProps
de , SerializeExtent
et SerializeVersion
pour remplacer COleControl::Serialize
. Pour obtenir un exemple, consultez le code de SerializeExtent. Pour plus d’informations sur l’optimisation de l’initialisation, consultez Contrôles ActiveX : Optimisation.
COleControl ::SerializeVersion
Sérialise ou initialise l’état des informations de version d’un contrôle.
DWORD SerializeVersion(
CArchive& ar,
DWORD dwVersionDefault,
BOOL bConvert = TRUE);
Paramètres
Ar
Objet CArchive
à sérialiser vers ou depuis.
dwVersionDefault
Numéro de version actuel du contrôle.
bConvert
Indique si les données persistantes doivent être converties au format le plus récent lorsqu’elles sont enregistrées ou conservées dans le même format qu’au moment où elles ont été chargées.
Valeur de retour
Numéro de version du contrôle. Si l’archive spécifiée est chargée, SerializeVersion
retourne la version chargée à partir de cette archive. Sinon, elle retourne la version actuellement chargée.
Notes
Vous pouvez améliorer les performances de persistance binaire d’un contrôle à l’aide SerializeVersion
de , SerializeExtent
et SerializeStockProps
pour remplacer COleControl::Serialize
. Pour obtenir un exemple, consultez le code de SerializeExtent. Pour plus d’informations sur l’optimisation de l’initialisation, consultez Contrôles ActiveX : Optimisation.
COleControl ::SetAppearance
Définit la valeur de propriété d’apparence du stock de votre contrôle.
void SetAppearance (short sAppearance);
Paramètres
sAppearance
Valeur short
(VT_I2) à utiliser pour l’apparence de votre contrôle. La valeur zéro définit l’apparence du contrôle sur plate et la valeur 1 définit l’apparence du contrôle sur 3D.
Notes
Pour plus d’informations sur les propriétés de stock, consultez Contrôles ActiveX : Propriétés.
COleControl ::SetBackColor
Définit la valeur de la propriété BackColor stock de votre contrôle.
void SetBackColor(OLE_COLOR dwBackColor);
Paramètres
dwBackColor
Valeur OLE_COLOR à utiliser pour le dessin d’arrière-plan de votre contrôle.
Notes
Pour plus d’informations sur l’utilisation de cette propriété et d’autres propriétés associées, consultez l’article Contrôles ActiveX : Propriétés.
COleControl ::SetBorderStyle
Définit la valeur de la propriété BorderStyle stock de votre contrôle.
void SetBorderStyle(short sBorderStyle);
Paramètres
sBorderStyle
Nouveau style de bordure pour le contrôle ; 0 indique aucune bordure et 1 indique une bordure normale.
Notes
La fenêtre de contrôle sera ensuite recréé et OnBorderStyleChanged
appelée.
COleControl ::SetCapture
Fait en sorte que la fenêtre conteneur du contrôle prenne possession de la capture de la souris au nom du contrôle.
CWnd* SetCapture();
Valeur de retour
Pointeur vers l’objet CWnd
fenêtre qui a précédemment reçu l’entrée de la souris.
Notes
Si le contrôle est activé et sans fenêtre, cette fonction amène la fenêtre conteneur du contrôle à prendre possession de la capture de la souris, au nom du contrôle. Dans le cas contraire, cette fonction entraîne le contrôle lui-même à prendre possession de la capture de la souris (identique à CWnd::SetCapture
).
COleControl ::SetControlSize
Définit la taille de la fenêtre de contrôle OLE et informe le conteneur que le site de contrôle change.
BOOL SetControlSize(int cx, int cy);
Paramètres
cx
Spécifie la nouvelle largeur du contrôle en pixels.
Cy
Spécifie la nouvelle hauteur du contrôle en pixels.
Valeur de retour
Différent de zéro si l’appel a réussi ; sinon 0.
Notes
Cette fonction ne doit pas être utilisée dans le constructeur de votre contrôle.
Notez que toutes les coordonnées des fenêtres de contrôle sont relatives au coin supérieur gauche du contrôle.
COleControl ::SetEnabled
Définit la valeur de la propriété Activée en stock de votre contrôle.
void SetEnabled(BOOL bEnabled);
Paramètres
bEnabled
TRUE si le contrôle doit être activé ; sinon FALSE.
Notes
Après avoir défini cette propriété, OnEnabledChange
est appelée.
COleControl ::SetFocus
Provoque la prise en charge de la fenêtre conteneur du contrôle par le focus d’entrée au nom du contrôle.
CWnd* SetFocus();
Valeur de retour
Pointeur vers l’objet CWnd
de fenêtre qui avait précédemment le focus d’entrée ou NULL s’il n’y a pas de fenêtre de ce type.
Notes
Si le contrôle est activé et sans fenêtre, cette fonction entraîne la prise en charge de la fenêtre conteneur du contrôle par le focus d’entrée, au nom du contrôle. Le focus d’entrée dirige l’entrée du clavier vers la fenêtre du conteneur, et le conteneur distribue tous les messages clavier suivants à l’objet OLE qui appelle SetFocus
. Toute fenêtre qui avait précédemment le focus d’entrée le perd.
Si le contrôle n’est pas sans fenêtre, cette fonction entraîne le contrôle lui-même à prendre possession du focus d’entrée (identique à CWnd::SetFocus
).
COleControl ::SetFont
Définit la propriété Font stock de votre contrôle.
void SetFont(LPFONTDISP pFontDisp);
Paramètres
pFontDisp
Pointeur vers une interface de distribution de police.
COleControl ::SetForeColor
Définit la valeur de la propriété ForeColor de votre contrôle.
void SetForeColor(OLE_COLOR dwForeColor);
Paramètres
dwForeColor
Valeur OLE_COLOR à utiliser pour le dessin au premier plan de votre contrôle.
Notes
Pour plus d’informations sur l’utilisation de cette propriété et d’autres propriétés associées, consultez l’article Contrôles ActiveX : Propriétés.
COleControl ::SetInitialDataFormats
Appelé par l’infrastructure pour initialiser la liste des formats de données pris en charge par le contrôle.
virtual void SetInitialDataFormats();
Notes
L’implémentation par défaut spécifie deux formats : CF_METAFILEPICT et le jeu de propriétés persistantes.
COleControl ::SetInitialSize
Définit la taille d’un contrôle OLE lorsqu’il s’affiche pour la première fois dans un conteneur.
void SetInitialSize(
int cx,
int cy);
Paramètres
cx
Largeur initiale du contrôle OLE en pixels.
Cy
Hauteur initiale du contrôle OLE en pixels.
Notes
Appelez cette fonction dans votre constructeur pour définir la taille initiale de votre contrôle. La taille initiale est mesurée en unités d’appareil ou en pixels. Il est recommandé que cet appel soit effectué dans le constructeur de votre contrôle.
COleControl ::SetModifiedFlag
Modifie l’état modifié d’un contrôle.
void SetModifiedFlag(BOOL bModified = TRUE);
Paramètres
bModified
Nouvelle valeur de l’indicateur modifié du contrôle. TRUE indique que l’état du contrôle a été modifié ; FALSE indique que l’état du contrôle vient d’être enregistré.
Notes
Appelez cette fonction chaque fois qu’une modification se produit qui affecterait l’état persistant de votre contrôle. Par exemple, si la valeur d’une propriété persistante change, appelez cette fonction avec bModified TRUE.
COleControl ::SetNotPermitted
Indique qu’une demande de modification a échoué.
void SetNotPermitted();
Notes
Appelez cette fonction en BoundPropertyRequestEdit
cas d’échec. Cette fonction lève une exception de type COleDispScodeException
pour indiquer que l’opération set n’a pas été autorisée.
COleControl ::SetNotSupported
Empêche la modification de la valeur de propriété d’un contrôle par l’utilisateur.
void SetNotSupported();
Notes
Appelez cette fonction à la place de la fonction Set de toute propriété où la modification de la valeur de propriété par l’utilisateur du contrôle n’est pas prise en charge. Un exemple serait une propriété qui est en lecture seule.
COleControl ::SetRectInContainer
Définit les coordonnées du rectangle du contrôle par rapport au conteneur, exprimées en unités d’appareil.
BOOL SetRectInContainer(LPCRECT lpRect);
Paramètres
lpRect
Pointeur vers un rectangle contenant les nouvelles coordonnées du contrôle par rapport au conteneur.
Valeur de retour
Différent de zéro si l’appel a réussi ; sinon 0.
Notes
Si le contrôle est ouvert, il est redimensionné ; sinon, la fonction du OnPosRectChanged
conteneur est appelée.
COleControl ::SetText
Définit la valeur de la propriété Légende ou Texte de votre contrôle.
void SetText(LPCTSTR pszText);
Paramètres
pszText
Pointeur vers une chaîne de caractères.
Notes
Notez que les propriétés de légende et de texte stock sont mappées à la même valeur. Cela signifie que toutes les modifications apportées à l’une ou l’autre propriété modifient automatiquement les deux propriétés. En règle générale, un contrôle doit prendre en charge la propriété Légende ou Texte, mais pas les deux.
COleControl ::ThrowError
Signale l’occurrence d’une erreur dans votre contrôle.
void ThrowError(
SCODE sc,
UINT nDescriptionID,
UINT nHelpID = -1);
void ThrowError(
SCODE sc,
LPCTSTR pszDescription = NULL,
UINT nHelpID = 0);
Paramètres
Sc
Valeur du code d’état à signaler. Pour obtenir la liste complète des codes possibles, consultez l’article Contrôles ActiveX : Rubriques avancées.
nDescriptionID
ID de ressource de chaîne de l’exception à signaler.
nHelpID
ID d’aide de la rubrique à signaler.
pszDescription
Chaîne contenant une explication de l’exception à signaler.
Notes
Cette fonction ne doit être appelée qu’à partir d’une fonction Get ou Set pour une propriété OLE, ou l’implémentation d’une méthode d’automatisation OLE. Si vous devez signaler des erreurs qui se produisent à d’autres moments, vous devez déclencher l’événement d’erreur de stock.
COleControl ::TransformCoords
Transforme les valeurs de coordonnées entre les unités HIMETRIC et les unités natives du conteneur.
void TransformCoords(
POINTL* lpptlHimetric,
POINTF* lpptfContainer,
DWORD flags);
Paramètres
lpptlHimetric
Pointeur vers une POINTL
structure contenant des coordonnées dans des unités HIMETRIC.
lpptfContainer
Pointeur vers une POINTF
structure contenant des coordonnées dans la taille d’unité du conteneur.
flags
Combinaison des valeurs suivantes :
XFORMCOORDS_POSITION position A dans le conteneur.
XFORMCOORDS_SIZE taille A dans le conteneur.
XFORMCOORDS_HIMETRICTOCONTAINER transformer les unités HIMETRIC en unités du conteneur.
XFORMCOORDS_CONTAINERTOHIMETRIC transformer les unités du conteneur en unités HIMETRIC.
Notes
Les deux premiers indicateurs, XFORMCOORDS_POSITION et XFORMCOORDS_SIZE, indiquent si les coordonnées doivent être traitées comme une position ou une taille. Les deux indicateurs restants indiquent la direction de la transformation.
COleControl ::TranslateColor
Convertit une valeur de couleur du type de données OLE_COLOR en type de données COLORREF .
COLORREF TranslateColor(
OLE_COLOR clrColor,
HPALETTE hpal = NULL);
Paramètres
clrColor
Type de données OLE_COLOR. Pour plus d’informations, consultez la fonction Windows OleTranslateColor .
hpal
Handle vers une palette facultative ; peut être NULL.
Valeur de retour
Valeur de couleur RVB (rouge, vert, bleu) 32 bits qui définit la couleur unie la plus proche de la valeur clrColor que l’appareil peut représenter.
Notes
Cette fonction est utile pour traduire les propriétés ForeColor et BackColor en types COLORREF utilisés par les fonctions membres CDC .
COleControl ::WillAmbientsBeValidDuringLoad
Détermine si votre contrôle doit utiliser les valeurs des propriétés ambiantes comme valeurs par défaut, lorsqu’il est ensuite chargé à partir de son état persistant.
BOOL WillAmbientsBeValidDuringLoad();
Valeur de retour
Nonzero indique que les propriétés ambiantes seront valides ; sinon, les propriétés ambiantes ne sont pas valides.
Notes
Dans certains conteneurs, votre contrôle n’a peut-être pas accès à ses propriétés ambiantes pendant l’appel initial au remplacement de COleControl::DoPropExchange
. C’est le cas si le conteneur appelle IPersistStreamInit ::Load ou IPersistStorage ::Load avant d’appeler IOleObject ::SetClientSite (autrement dit, s’il ne respecte pas le bit d’état OLEMISC_SETCLIENTSITEFIRST).
COleControl ::WindowProc
Fournit une procédure Windows pour un COleControl
objet.
virtual LRESULT WindowProc(
UINT message,
WPARAM wParam,
LPARAM lParam);
Paramètres
message
Spécifie le message Windows à traiter.
wParam
Fournit des informations supplémentaires utilisées dans le traitement du message. La valeur du paramètre dépend du message.
lParam
Fournit des informations supplémentaires utilisées dans le traitement du message. La valeur du paramètre dépend du message.
Valeur de retour
Valeur de retour du message distribué.
Notes
Appelez cette fonction pour distribuer des messages spécifiques via la carte des messages du contrôle.
Voir aussi
Exemple CIRC3 MFC
Exemple TESTHELP MFC
COlePropertyPage, classe
CWnd, classe
Graphique hiérarchique
CFontHolder, classe
CPictureHolder, classe