Custom Control Properties Default Werte zuweisen?

the incredible Leitman

Erfahrenes Mitglied
[C++.NET] Custom Control Properties Default Werte zuweisen?

Ai zusammen,
ich habe unter Visual Studio 2005 (VC++) ein eigenes Control Element erstellt, indem ich es von der UserControl Klasse abgeleitet habe.

Soweit, so gut, jedoch möchte ich nun in den Properties Standartwerte zuweisen, die man mittels Designer aber ändern kann...

ich definiere die Eigenschaften folgendermaßen:

Code:
public:
        [
        Category("Label Location"),
        Description("Sets the Location of the Label")
		// should be default (40, 3)
        ]
		property System::Drawing::Point LabelLoc
        {            
			System::Drawing::Point get()
            {
				return label->Location;
            }
			void set(System::Drawing::Point value) 
            {
				label->Location = value;

                // The Invalidate method invokes the OnPaint method
                Invalidate(); 
            }
        }

Hoffe, mir kann jemand helfen *liebschau*
 

Anhänge

Zuletzt bearbeitet:
hm... hab ich mich unverständlich ausgedrückt, oder kann mir wirklich keiner helfen?

ich probiers noch einmal:
Ich habe ein eigenes Control erstellt (von der klasse UserControl abgeleitet)
nun möchte ich dem Control Properties zuweisen wie Location, Name, Visible, usw...

Mein Problem ist nun, dass wenn ich in der Klasse von MyControl bestimmte Werte zuweise, ich sie im Designer nicht verändern kann >.<
und wenn ich gar keine WErte zuweise, alle Steuerelemente ohne irgendwas übereinander kleben....

Außerdem weiß ich nicht genau, wo ich bereits exitstierende Controls (wie Buttons oder Labels) hinzufügen kann?

Wär echt nett, wenn mir jemand weiterhelfen könnte, ist ziemlich wichtig

Danke
lg
 

Anhänge

Zuletzt bearbeitet:
naja, dann halt keine Hilfe *sniff*

den Propertybefehl "DefaultValue" oder dergleichen aus der MSDN hab ich probiert, hat aber entweder keine Auswirkungen, gibt Fehler aus oder setzt die Werte fix, dass ich sie gar nicht mehr ändern kann...

Hab jetzt einfach im Konstruktor in der Initialisierung des Kontrols die einzelnen Controls mit Werten initialisert, jetzt gehts...
tja, warum einfach, wenns kompliziert auch geht *gg*

Manchmal sieht man halt vor lauter Bäumen den Wald nicht mehr :D
 
Hey du! Danke erstmal!
euphrat hat gesagt.:
Hi!

Es gibt ein Attribut "DefaultValue", d.h. du schreibst

[ Category("..."),
Description ("..."),
DefaultValue ( )]

Der DefaultValue nimmt u.a. auch ein Object. probier das mal.

lg euphrat
Genau das DefaultValue versuch ich zu verwenden! Aber das einzige was ich kann, sind int oder bool Werte zuweisen! Sobald ich etwas anderes versuche, erscheint mir entweder beim Kompilieren eine Fehlermeldung oder es hat keine Auswirkungen! >.<

Weißt du vl. wie ich Farben, enums oder structs in DefaultValue erwenden kann?

Code:
[
	Category("ZLSControl Properties"),
	Description("The color of this component"),
	// keine Auswirkungen:
	DefaultValue("System::Drawing::Color::Black") 
	
	// Fehler: error C3104: illegal attribute argument	
	DefaultValue(System::Drawing::Color::Black)

	// Fehler error C3104: illegal attribute argument	
	DefaultValue(Color::Black)

	//Fehler error C2065: 'Black' undeclared identifier	
	DefaultValue(Black)
]

hab leider keine Ahnung, wie ich DefaultValue auf enums/Colors anwenden soll... ;-(

Bitte Hilfe
 
Zurück