Ein eigenes Koordinatensystem
-
Hallo,
so ich habe mich entschieden, dass ich mein Koordinatensystem nun einfach so wie Th69 mache, nämlich ich rechne alles um.Zwar finde ich es schade, dass ich es nicht gescahfft habe, den Nullpunkt zu verschieben, doch wie bereits gesagt, kriege ich es einfach nicht hin, eine Linie korrekt vom Nullpunkt aus zu zeichnen.
Naja, wenn ihr wollt, könnt ihr diesen Thread einfach löschen und wir tun so, also ob nichts gewesen wäre.
Ich danke euch allen.
lg, freakC++
-
Hallo
und ein Gesundes, erfolgreiches und friedliches 2010 allerseits.
Hab hier noch etwas gefunden, das du lesen solltest,
bevor du dir die Kugel gibst
.
bis dann
kpeter
-
Hallo,
schau dir mal den Link auf Seite 1 an? Aber ich danke dir trotzdem. Bis jetzt gehts aber ganz gut, wenn ich einfach eine Transformation mache. Das Problem liegt einfach daran, dass ich mangelnde Kenntnisse vom Builder habe. Daher würde ich mich freuen, wenn ihr mir sagen könnt, woher ihr das wisst. Irgendwie gibt es keine ausführlichen Bücher darüber.
Lernt man das an der Uni oder ist das Learning bei Doing? Wie habt ihr das gelenrnt?
Vielen Dank
lg, freakC++
-
NOCHMAL die Frage, wiso willst du von ausserhalb auf den Graph zeichnen?
Wiso willst du überhaupt eine Komponente erstellen die nichts anderes macht als den 0-Punkt zu setzen? dann kann man diese eine Zeile auch direkt in einer PaintBox rein schreiben!
Wiso erstellst du nicht in deiner Komponente Funktionen wie es normal üblich ist ala Graph1->Items->AddLine(.....) und verwaltest alle Zeichnungsdaten in der Komponente und lässt dann alles im OnPaint zeichnen der Komponente?
Wir schreiben dir jetzt schon zum zig mal alles in OnPaint zeichnen lassen und dann kommt wieder ein
void __fastcall TForm1::Button1Click(TObject *Sender) { Graph1->DrawLine(); //Linie an falscher Stelle }
von dir ... willst du uns was vortrollen?
-
Halt, das ist ein Missverständnis. Ich weiß, dass das nicht stimmt, doch ich wollte auf die DrawLine Methode verweisen, die ich von einem Button aufrufen möchte. Ich wollte halt dass ich von einem Button diese Methode aufrufe und dass dann vom gewünschten Nullpunkt gezeichnet wird. Ich habe es nicht geschafft, euren Code zu anzuwenden, dass dies möglich ist.
Natürlich soll mein Koordinatensystem noch viel mehr können, doch warum soll ich mir schon Gedanken über weitere Schritte machen, wenn ich es noch nicht mal schaffe, eine Linie zu zeichnen
Bitte nicht böse sein! Das diente nur zur Verdeutlichung, dass ich halt diese Methode aufrufen möchte und dass dann vom Nullpunkt aus gezeichnet wird.
edit: Ich will von außerhalb auf den Graphen zeichnen, weil ich wissen will, wie es geht. Ich bin jemand, der bei einem Problem eigentlich wissen will, warum so etwas ist. Genauso ist es hiert. Ich WILL verstehen, was ich falsch mache und ich WILL wissen, wie ich von außerhalb auf den Graphen zeichne. Auch wenn ich mich wohl doof anstelle!
lg, freakC++
-
Vielleicht solltest du uns nunmal den bisherigen Code der Komponente posten,
ich nehme mal an, die Mods haben nix dagegen und du auch nicht...
-
Hm... jetzt habe ich dir wieder Fragen gestellt und keine davon hast du beantwortet!
-
Hallo,
ich hab' auf deine Fragen geantwortet. Ich will das machen, damit ich es verstehe. Die Komponente soll mehr als den 0 Nullpunkt setzen, aber warum soll ich mir über weitere Schritte Gedanken machen, wenn ich noch nichtmal eine Linie zeichn kann?Ich will dieses ungemütliche Thema jetzt abhaken. Ich glaube, dass wir alle die Nase voll haben und ich mich nicht weiter unbeliebt machen möchte.
Ich probiere das mit der Transformation jetzt aus. Eine Frage habe ich aber noch. Ihr sagtet, dass ich mit "Invalidate()", die PaintBox leeren kann. Das funktioniert leider nicht. Auch Refresh bringt da nichts. Wie kann ich eine PaintBox neu übermalen, sodass das Alte nicht da bleibt. Ich dachte, einfach, das ich sie mit einem Rechteck übermale...also so:
Canvas->Brush->Color=clBtnFace; Canvas->FillRect(Canvas->ClipRect);
Wie muss die Farbe heißen, damit die Komponente wie standargemäß durchsichtig ist? clBtnFace ist da falsch.
Vielen Dank euch
lg, freakC++
-
Invalidate() ruft OnPaint auf und das ist mit deinen DoPaint verknüpft...
-
Möchte wirklich mal wissen, wie er verlangen kann, das wir seine überlangen Postings lesen sollen,
wenn er auf unsere (kurzen) nicht antwortet/reagiert
-
Ich weiß nicht was ihr habt. Ich habe eure Antworten gelesen und mich darauf bezogen, denn es liegt mir schon hier was zu lernen!
Ich möchte jetzt diese Mega Thread beenden, danke euch allen und lobe euren Einsatz, Können und Durchhaltevermögen! Ihr seit echt toll.
Bis bald und
lg, freakC++