Komponentenentwicklung property wie Align
-
Hallo zusammen,
kann mir jemand sagen wie ich bei einer eigenen Komponente ein Auswahlfenster wie bei z.B bei Align hin bekomme? Ich denk ja mal das das irgendwie mit enum gehen muss, aber die frage ist wie?
Danke schonmal
-
Hallo,
das Stichwort dafür lautet "Eigenschaftseditor" (Property Editor), s.a. http://docs.embarcadero.com/products/rad_studio/radstudio2007/RS2007_helpupdates/HUpdate4/DE/html/devwin32/cwgaddingpropertyeditors_xml.html
Mittels der Funktion 'RegisterPropertyEditor' wird der Editor dann registriert.Als Beispiel (wenn auch mit Delphi) habe ich http://www.delphipraxis.net/67231-eigene-komponente-von-tcustomcontrol-eigenschaftseditor.html gefunden.
-
Ich bin mir nicht so ganz sicher ob es das ist was ich meine. Wenn ich das richtig verstanden hab, ist da erklärt wie man einen eigenen Property Editor erstellt. Sowas brauch ich ja gar nicht.
Ich möchte eigenlich nur das man als Property verschiedene Auswahlmöglichkeiten hat. Wenn z.B. als Property TStringList angegeben ist, kann ich zur entwurfszeit wie bei einer ListBox die Liste füllen. Es gibt doch bestimmt die möglichkeit das nur aus einer festen Auswahl ich den Index zurück bekomme.
-
Benutze Enums und Sets:
enum TPizzaTopping { ptTomatoes, ptCheese, ptArtichokes, ptAnchovy, ... ptSalami }; typedef Set<TPizzaTopping, ptTomatoes, ptSalami> TPizzaToppings; class TCustomPizzaOrder : public TComponent { ... __published: __property TPizzaTopping PrimaryTopping = { ... }; __property TPizzaToppings Toppings = { ... }; };
Edit: Kleinigkeiten über Kleinigkeiten