Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Aktieneigenschaften unterscheiden sich von benutzerdefinierten Eigenschaften darin, dass sie bereits von der Klasse COleControl
implementiert werden.
COleControl
enthält vordefinierte Memberfunktionen, die allgemeine Eigenschaften für das Steuerelement unterstützen. Einige allgemeine Eigenschaften umfassen die Beschriftung des Steuerelements und die Vordergrund- und Hintergrundfarben. Informationen zu anderen Aktieneigenschaften finden Sie weiter unten in diesem Artikel unter " Aktieneigenschaften hinzufügen" . Die Verteilerzuordnungseinträge für Bestandseigenschaften werden immer durch DISP_STOCKPROP präfixiert.
In diesem Artikel wird beschrieben, wie Sie einem ActiveX-Steuerelement mithilfe des Assistenten zum Hinzufügen von Eigenschaften eine Aktieneigenschaft (in diesem Fall Caption) hinzufügen und die resultierenden Codeänderungen erläutern. Dabei werden folgende Themen behandelt:
Verwenden des Assistenten zum Hinzufügen von Eigenschaften zum Hinzufügen einer Aktieneigenschaft
Hinzufügen von Eigenschaften-Assistentenänderungen für Aktieneigenschaften
Aktieneigenschaften, die vom Assistenten zum Hinzufügen von Eigenschaften unterstützt werden
-
Hinweis
Benutzerdefinierte Visual Basic-Steuerelemente verfügen in der Regel über Eigenschaften wie "Oben", "Links", "Breite", "Höhe", "Ausrichten", "Tag", "Name", "TabIndex", "TabStop" und "Parent". ActiveX-Steuerelementcontainer sind jedoch für die Implementierung dieser Steuerelementeigenschaften verantwortlich und daher sollten diese Eigenschaften von ActiveX-Steuerelementen nicht unterstützt werden.
Verwenden des Assistenten zum Hinzufügen einer Eigenschaft zum Hinzufügen einer Aktieneigenschaft
Das Hinzufügen von Bestandseigenschaften erfordert weniger Code als das Hinzufügen von benutzerdefinierten Eigenschaften, da die Unterstützung für die Eigenschaft automatisch behandelt COleControl
wird. Das folgende Verfahren veranschaulicht das Hinzufügen der Eigenschaft "Stock Caption" zu einem ActiveX-Steuerelementframework und kann auch zum Hinzufügen anderer Aktieneigenschaften verwendet werden. Ersetzen Sie den namen der ausgewählten Aktieneigenschaft für Caption.
So fügen Sie die Stock Caption-Eigenschaft mithilfe des Assistenten zum Hinzufügen von Eigenschaften hinzu
Laden Sie das Projekt Ihres Steuerelements.
Erweitern Sie in der Klassenansicht den Bibliotheksknoten Ihres Steuerelements.
Klicken Sie mit der rechten Maustaste auf den Schnittstellenknoten für Ihr Steuerelement (den zweiten Knoten des Bibliotheksknotens), um das Kontextmenü zu öffnen.
Klicken Sie im Kontextmenü auf "Hinzufügen" und dann auf "Eigenschaft hinzufügen".
Dadurch wird der Assistent zum Hinzufügen von Eigenschaften geöffnet.
Klicken Sie im Feld "Eigenschaftsname " auf "Beschriftung".
Klicken Sie auf Fertig stellen.
Hinzufügen von Eigenschaften-Assistentenänderungen für Aktieneigenschaften
Da COleControl
Aktieneigenschaften unterstützt werden, ändert der Assistent zum Hinzufügen von Eigenschaften die Klassendeklaration nicht in irgendeiner Weise. Die Eigenschaft wird der Verteilerzuordnung hinzugefügt. Der Assistent zum Hinzufügen von Eigenschaften fügt die folgende Zeile zur Verteilerzuordnung des Steuerelements hinzu, das sich in der Implementierung befindet (. CPP)-Datei:
DISP_STOCKPROP_CAPTION()
Die folgende Zeile wird der Schnittstellenbeschreibung des Steuerelements hinzugefügt (. IDL)-Datei:
[id(DISPID_CAPTION), helpstring("property Caption")] BSTR Caption;
Diese Zeile weist der Caption-Eigenschaft eine bestimmte ID zu. Beachten Sie, dass die Eigenschaft gebunden werden kann und die Berechtigung der Datenbank anfordert, bevor Sie den Wert ändern.
Dadurch wird die Caption-Eigenschaft benutzern Ihres Steuerelements zur Verfügung gestellt. Um den Wert einer Aktieneigenschaft zu verwenden, greifen Sie auf eine Membervariable oder Memberfunktion der COleControl
Basisklasse zu. Weitere Informationen zu diesen Membervariablen und Memberfunktionen finden Sie im nächsten Abschnitt: Aktieneigenschaften, die vom Assistenten zum Hinzufügen von Eigenschaften unterstützt werden.
Vom Assistenten zum Hinzufügen von Eigenschaften unterstützte Aktieneigenschaften
Die COleControl
Klasse bietet neun Aktieneigenschaften. Sie können die gewünschten Eigenschaften mithilfe des Assistenten zum Hinzufügen von Eigenschaften hinzufügen.
Eigentum | Verteilerkarteneintrag | So greifen Sie auf wert zu |
---|---|---|
Appearance |
DISP_STOCKPROP_APPEARANCE( ) | Auf den Wert zugegriffen werden kann als m_sAppearance . |
BackColor |
DISP_STOCKPROP_BACKCOLOR( ) | Durch Aufrufen von Werten GetBackColor zugegriffen werden kann. |
BorderStyle |
DISP_STOCKPROP_BORDERSTYLE( ) | Auf den Wert zugegriffen werden kann als m_sBorderStyle . |
Caption |
DISP_STOCKPROP_CAPTION( ) | Durch Aufrufen von Werten InternalGetText zugegriffen werden kann. |
Enabled |
DISP_STOCKPROP_ENABLED( ) | Auf den Wert zugegriffen werden kann als m_bEnabled . |
Font |
DISP_STOCKPROP_FONT( ) | Weitere Informationen finden Sie im Artikel zu MFC ActiveX-Steuerelementen: Verwenden von Schriftarten für die Verwendung. |
ForeColor |
DISP_STOCKPROP_FORECOLOR( ) | Durch Aufrufen von Werten GetForeColor zugegriffen werden kann. |
hWnd |
DISP_STOCKPROP_HWND( ) | Auf den Wert zugegriffen werden kann als m_hWnd . |
Text |
DISP_STOCKPROP_TEXT( ) | Durch Aufrufen von Werten InternalGetText zugegriffen werden kann. Diese Eigenschaft ist mit Ausnahme des Eigenschaftennamens identisch Caption . |
ReadyState |
DISP_STOCKPROP_READYSTATE() | Barrierefreier Wert als m_lReadyState oder GetReadyState |
Aktieneigenschaften und Benachrichtigungen
Die meisten Aktieneigenschaften verfügen über Benachrichtigungsfunktionen, die überschrieben werden können. Wenn die BackColor
Eigenschaft beispielsweise geändert wird, wird die OnBackColorChanged
Funktion (eine Memberfunktion der Steuerelementklasse) aufgerufen. Die Standardimplementierung (in COleControl
) ruft auf InvalidateControl
. Überschreiben Sie diese Funktion, wenn Sie als Reaktion auf diese Situation zusätzliche Maßnahmen ergreifen möchten.
Farbeigenschaften
Sie können die Lagerbestände ForeColor
und BackColor
Eigenschaften oder ihre eigenen benutzerdefinierten Farbeigenschaften verwenden, wenn Sie das Steuerelement zeichnen. Rufen Sie die Memberfunktion "COleControl::TranslateColor " auf, um eine Farbeigenschaft zu verwenden. Die Parameter dieser Funktion sind der Wert der Farbeigenschaft und ein optionales Palettenhandle. Der Rückgabewert ist ein COLORREF-Wert , der an GDI-Funktionen übergeben werden kann, z SetTextColor
. B. und CreateSolidBrush
.
Auf die Farbwerte für die Aktien ForeColor
und BackColor
Eigenschaften wird durch Aufrufen der GetForeColor
Funktion bzw. der GetBackColor
Funktion zugegriffen.
Im folgenden Beispiel wird die Verwendung dieser beiden Farbeigenschaften beim Zeichnen eines Steuerelements veranschaulicht. Sie initialisiert eine temporäre COLORREF-Variable und ein CBrush
Objekt mit Aufrufen von TranslateColor
: einer mit der ForeColor
Eigenschaft und dem anderen mit der BackColor
Eigenschaft. Anschließend wird ein temporäres CBrush
Objekt verwendet, um das Rechteck des Steuerelements zu zeichnen, und die Textfarbe wird mithilfe der ForeColor
Eigenschaft festgelegt.
CBrush bkBrush(TranslateColor(GetBackColor()));
COLORREF clrFore = TranslateColor(GetForeColor());
pdc->FillRect(rcBounds, &bkBrush);
pdc->SetTextColor(clrFore);
pdc->DrawText(InternalGetText(), -1, rcBounds, DT_SINGLELINE | DT_CENTER | DT_VCENTER);
Siehe auch
MFC ActiveX-Steuerelemente
MFC ActiveX-Steuerelemente: Eigenschaften
MFC ActiveX-Steuerelemente: Methoden
COleControl-Klasse