Frage

Kann festgestellt werden, welche Eigenschaft eines ActiveX-Steuerelements die Standardeigenschaft ist?Was ist beispielsweise die Standardeigenschaft des VB6-Steuerelements „CommandButton“ und wie kann ich die Standardeigenschaften anderer Steuerelemente herausfinden?

/BEARBEITEN: Ohne eine Quelle für das Objekt selbst zu haben

War es hilfreich?

Lösung 3

Verwenden Sie den OLE/Com Object Viewer, der mit Microsoft Visual Studio vertrieben wird.

Gehen Sie zu Typbibliotheken und suchen Sie die Bibliothek, in der sich das Steuerelement befindet, z. B. CommandButton Microsoft Forms 2.0-Objektbibliothek.Klicken Sie mit der rechten Maustaste auf die Bibliothek und wählen Sie „Ansicht“.Suchen Sie die Co-Klasse, die das Steuerelement darstellt, und wählen Sie sie aus:

alt text

Wie Sie sehen können, ist die Standardschnittstelle für CommandButton ICommandButton. Wenn Sie ICommandButton untersuchen, suchen Sie nach einer Eigenschaft mit einem Dispid von 0.Die IDL für die dispid 0-Eigenschaft von CommandButton lautet:

[id(00000000), propput, bindable, displaybind, hidden, helpcontext(0x001e8d04)]
void Value([in] VARIANT_BOOL rhs);
[id(00000000), propget, bindable, displaybind, hidden, helpcontext(0x001e8d04)]
VARIANT_BOOL Value();

Zeigt Ihnen die Standardeigenschaft.

Andere Tipps

Ich verwende kein VB, aber hier ist es.

ich fand Den Wert eines Steuerelements verwenden, aber es ist keine programmatische Lösung.Wenn Sie Zugriff auf den Code haben, suchen Sie nach

Attribute Value.VB_UserMemId = 0

mit Notepad.

Es kommt darauf an, wann Sie dies feststellen möchten.Sie könnten den „Wert“ beispielsweise eines Label-Steuerelements (das keine „value“-Eigenschaft hat) wie folgt an den Debugger ausgeben:

debug.print "Value for cmdTest is ["+format(cmdTest)+"]"

Das gibt Ihnen so etwas wie:

Wert für cmdTest ist [False]

Wie sich herausstellt, ist der Standardwert für eine Befehlsschaltfläche ihr Zustand (gedrückt oder nicht). Wenn Sie also das obige Codebeispiel in das Klickereignis für das Steuerelement einfügen, wird „True“ angezeigt, wenn Sie es an einer anderen Stelle ausführen , wird „Falsch“ angezeigt.

Bei anderen Ergebnissen zeigt Ihnen diese Methode zumindest die Art der Immobilie an, nach der Sie suchen.Du könntest benutzen:

debug.print "cmdTest's value is of type ["+TypeName(oObject) +"]"

die Ihnen den tatsächlichen Typ verraten, nämlich:

Der Wert von cmdTest ist vom Typ [Boolean]

Sie können verschiedene Methoden verwenden, um die Dinge einzugrenzen, z. B. indem Sie den Wert festlegen und sehen, was passiert.

Sie haben Zugriff auf den Code, suchen Sie nach

Leider habe ich für die meisten Steuerelemente keinen Zugriff auf den Code.Der Link ist zwar für die Microsoft-Steuerelemente nützlich, ich würde mich aber trotzdem für andere Steuerelemente interessieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top