Umrandung zeichnen
-
Hallo,
bei meinem lernen in C++ Net
wollte ic z.B. um ListBoxen eine Umrandung zeichnen mit folgendem Code:private: System::Void Form1_Paint(System::Object^ sender, System::Windows::Forms::PaintEventArgs^ e) { Graphics^ g = e->Graphics; for each(Control^ c in this->Controls) { if (c->GetType() == Type::GetType("ListBox")) { //g->DrawRectangle(gcnew Pen(Color::Black,3),gcnew Rectangle( c->Size,c->Location)); } } }
in der auskommentierten Zeile bekomme ich die Fehlermeldung, weil schon Size nicht umgerechnet werden
kann.
Jetzt war ich der Meinung, dass Size die beiden Werte angibt;in C# geht es.
wie muss man das in C++ Net machen. Wo ist mein Anfängerfehler ?
Kann mir jemand einen Tipp geben,dass der Code lauffähig werden kann.
Grüße
Ludwig
-
Hallo,
hat keiner eine Idee ?
Grüße
Ludwig
-
Wie wärs denn mit ner Fehlermeldung ?
Ein blick in die MSDN könnte auch nicht schaden:gcnew Rectangle( c->Size,c->Location));
public: Rectangle ( Point location, Size size )
[LocalizableAttribute(true)] public: property Point Location { Point get (); void set (Point value); }
[LocalizableAttribute(true)] public: property Size Size { Size get (); void set (Size value); }
(Da ich nicht glaube, das Du an soetwas simplen scheiterst - erkläre das Problem neu)
-
Hallo,
danke für Deine Antwort.Die Fehlermeldung schiebe ich gerne nach.
c:\dokumente und einstellungen\administrator\eigene dateien\c++\c++textinlistbox\c++textinlistbox\Form1.h(328) : error C2664:
'void System::Drawing::Graphics::DrawRectangle(System::Drawing::Pen ^,System::Drawing::Rectangle)':
Konvertierung des Parameters 2 von 'System::Drawing::Rectangle ^' in 'System::Drawing::Rectangle' nicht möglich
Es ist kein benutzerdefinierter Konvertierungsoperator verfügbar, oder
Kein benutzerdefinierter Konvertierungsoperator verfügbar, der diese Konvertierung durchführen kann, oder der Operator
kann nicht aufgerufen werdenschlau werde ich einfach nicht.
Nach meinem Verständnis sind alle werte in size und location gegeben.
Mit dem Umwandeln habe ich mich auch jetzt wieder in der Doku auf Suche gemacht - OHNE ERFOLG -.
Kannst Du mir sagen,wie ich den 2. Parameter schreiben muss.Grüße
Ludwig
-
Luko schrieb:
error C2664:
'void System::Drawing::Graphics::DrawRectangle(System::Drawing::Pen ^,System::Drawing::Rectangle)':
Konvertierung des Parameters 2 von 'System::Drawing::Rectangle ^' in 'System::Drawing::Rectangle' nicht möglichDann mach einfach aus deiner
Rectangle ^rect;
ein
Rectangle rect;
-
Falls du weiterhin noch Fehler hast, benutze statt Size System::Drawing::Size!
In der Regel nimmt der Compiler sonst die Size Eigenschaft aus dem Namensraum System::Windows::Forms