Konstanten bzw Enums in ATL definieren
-
Hallo Leute,
bräuchte eine Möglichkeit in einem ATL-COM-Objekt Konstanten bzw Enums zu implementieren. Es reicht aus, wenn es long-Werte sind. Um genauer zu sein, ich möchte in VB diese Konstanten sehen.
Danke euch,
Joe
-
Wenn DU sie in VB sehen willst, dann musst Du die im IDL definieren... z.B..
typedef [uuid(D8898462-742F-11CF-8AEA-00CCCDDEE01), helpstring("Meine eigenen Enums"), helpcontext(0x00059a07)] enum { meiners1 = 1, meinerTest2 = 22 } MeineEigeneEnums;
und dann in einem Property verwenden...
[id(0xfffffdf8), propget, helpstring("Returns/sets whether a control should be painted with 3-D effects."), helpcontext(0x000591ce)] AppearanceSettings Appearance(); [id(0xfffffdf8), propput, helpstring("Returns/sets whether a control should be painted with 3-D effects."), helpcontext(0x000591ce)] void Appearance([in] AppearanceSettings rhs);
PS: Schau Dir doch einfach mal die diversen TLBs der MS Controls an (z.B: "Microsoft FlexGrid Version 6.0")
-
Gibt es da eine Möglichkeit, das mit dem Assistenten zu machen, bzw. wie bekomme ich eine eigene uuid?
Joe
PS. Wo finde ich diese TLBs?
-
joerider schrieb:
Gibt es da eine Möglichkeit, das mit dem Assistenten zu machen, bzw. wie bekomme ich eine eigene uuid?
Ich glaube das geht nicht... schreib es einfach in die IDL-Datei rein...
Die UUID bekommst Du indem Du im Menü von VS "Tools|Create GUID..." aufrufst...joerider schrieb:
Wo finde ich diese TLBs?
Im Ordner "Common\Tools\Bin" von VS gibt es die Datei "oleview.exe"... diese einfach ausführen und auf "Type Interfaces" gehen und dann "Microsoft FlexGrid Control..." auswählen und ein doppel-Click auf diesen Eintrage machen... und schwups hast Du die komplette IDL dieses Controls...
-
Danke, funktioniert
Joe