Probleme mit der PaintBox
-
- Beiträge: 65
- Registriert: Sa 27. Okt 2007, 13:27
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Seebergen
Probleme mit der PaintBox
Hallo Leute!
Ich habe heute mal einige Test's für ein neues Project gemacht. Innerhalb des Projectes möchte ich eine PaintBox in einer ScrollBox zum Zeichnen benutzen. Ich hatte aber ausgehend von Lazarus-0.9.25-fpc-2.3.1-20080123-win32 keinen erfolg bei der Darstellung von Linien u.s.w. in der PaintBox. Ich habe dann nach und nach Zurückinstalliert:
-Lazarus-0.9.25-fpc-2.2.1-20080123-win32,
-Lazarus-0.9.25-fpc-2.2.0-20080123-win32,
-Lazarus-0.9.25-fpc-2.2.0-20071211-win32,
-Lazarus-0.9.24.1-fpc-2.2.0-20080123-win32,
-Lazarus-0.9.24-fpc-2.2.0-20071114-win32,
-Lazarus-0.9.23-fpc-2.2.1-20071019-win32.
Erst bei der Version Lazarus-0.9.23-fpc-2.2.1-20071019-win32 hatte ich wieder erfolg und konnte die PainBox so benutzen wie ich es von Delphi gewohnt war. Es muss jetzt niemand die ganze Installationsorgie nachmachen, aber wenn jemand eine aktuelle Version für Windows benutzt kann er ja mal nachvollziehen ob das gleiche Problem auch auftritt. Wenn keine Probleme auftreten währe ich für ein Beispiel dankbar, denn ich kann jetzt keinen Unterschied oder Fehler sehen. Ich weiss auch nicht ob ich bei der ganzen umherinstalliererei irgend etwas vergessen habe.
Danke und Tschüsss.
Ich habe heute mal einige Test's für ein neues Project gemacht. Innerhalb des Projectes möchte ich eine PaintBox in einer ScrollBox zum Zeichnen benutzen. Ich hatte aber ausgehend von Lazarus-0.9.25-fpc-2.3.1-20080123-win32 keinen erfolg bei der Darstellung von Linien u.s.w. in der PaintBox. Ich habe dann nach und nach Zurückinstalliert:
-Lazarus-0.9.25-fpc-2.2.1-20080123-win32,
-Lazarus-0.9.25-fpc-2.2.0-20080123-win32,
-Lazarus-0.9.25-fpc-2.2.0-20071211-win32,
-Lazarus-0.9.24.1-fpc-2.2.0-20080123-win32,
-Lazarus-0.9.24-fpc-2.2.0-20071114-win32,
-Lazarus-0.9.23-fpc-2.2.1-20071019-win32.
Erst bei der Version Lazarus-0.9.23-fpc-2.2.1-20071019-win32 hatte ich wieder erfolg und konnte die PainBox so benutzen wie ich es von Delphi gewohnt war. Es muss jetzt niemand die ganze Installationsorgie nachmachen, aber wenn jemand eine aktuelle Version für Windows benutzt kann er ja mal nachvollziehen ob das gleiche Problem auch auftritt. Wenn keine Probleme auftreten währe ich für ein Beispiel dankbar, denn ich kann jetzt keinen Unterschied oder Fehler sehen. Ich weiss auch nicht ob ich bei der ganzen umherinstalliererei irgend etwas vergessen habe.
Danke und Tschüsss.
-
- Beiträge: 65
- Registriert: Sa 27. Okt 2007, 13:27
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Seebergen
Hallo!
Verdammt, jetzt hätte ich ja doch fast vergessen noch mal was dazu zu sagen.
Na gut. Ehe sich jetzt noch jemand ander's die Mühe macht und den Fall aufrollt möchte ich mir halt selbst antworten. Es kann ja auch ein anderer auf die gleiche Sache reinfallen. Ich bin jetzt wieder bei Lazarus-0.9.25-fpc-2.3.1-20080123-win32 und die PaintBox zeigt mir doch was an. Es war also grundsätzlich mein Fehler
und es lag haupsächlich an der ScrollBox.
1. PaintBox
Irgendwie habe ich die Einstellung PaintBox1.Align auf alClient belassen statt auf alNone zu stellen
und bis auf die Tatsache das die Anweisung, PaintBox1.Canvas.Color := clWhite, plötzlich die Fehlermeldung, Error: identifier idents no member "Color", auslöst ist eigentlich alles in Ordnung. Das mit der Farbe kann auch anders gelöst werden, es ist höchstens ein weiterer Kritikpunkt auf der Liste der Lazaruskritiker.
2. ScrollBox
Mein Hauptfehler lag bei der Benutzung der ScrollBox. Die andere Funktionsweise der ScrollBox war mir nicht gleich klar. Ich bin wie bisher davon ausgegangen das sich der Inhalt der Box von rechts nach links bewegt wenn mann den Scrollbutton von links nach rechts verschiebt. Bei der LazarusScrollBox ist die Bewegung des inhaltes aber gleich der Bewegung des Scrollbutton. Ich habe also nie den Bereich gesehen in dem ich gezeichnet habe.
Die Lösung war also das die PaintBox nach minusTop und minusLeft ausgedehnt und die Orientierung nach ScrollBox.Width und ScrollBox.Height festgelegt werden muss. Somit kann der darstellbare Bereich der PaintBox in den sichtbaren Bereich der ScrollBox verschoben werden.
Das war's. Damit war mein Projecttest also doch noch erfolgreich.
Die Funktionsweisen der Komponennten ist aber wiedermal nicht genauso wie in Delphi. Was es in dem Fall auch gar nicht sein muss.
Aber das muss man halt vorher wissen.
Tschüsss!
Verdammt, jetzt hätte ich ja doch fast vergessen noch mal was dazu zu sagen.
Na gut. Ehe sich jetzt noch jemand ander's die Mühe macht und den Fall aufrollt möchte ich mir halt selbst antworten. Es kann ja auch ein anderer auf die gleiche Sache reinfallen. Ich bin jetzt wieder bei Lazarus-0.9.25-fpc-2.3.1-20080123-win32 und die PaintBox zeigt mir doch was an. Es war also grundsätzlich mein Fehler

1. PaintBox
Irgendwie habe ich die Einstellung PaintBox1.Align auf alClient belassen statt auf alNone zu stellen


2. ScrollBox
Mein Hauptfehler lag bei der Benutzung der ScrollBox. Die andere Funktionsweise der ScrollBox war mir nicht gleich klar. Ich bin wie bisher davon ausgegangen das sich der Inhalt der Box von rechts nach links bewegt wenn mann den Scrollbutton von links nach rechts verschiebt. Bei der LazarusScrollBox ist die Bewegung des inhaltes aber gleich der Bewegung des Scrollbutton. Ich habe also nie den Bereich gesehen in dem ich gezeichnet habe.

Das war's. Damit war mein Projecttest also doch noch erfolgreich.


Tschüsss!
-
- Beiträge: 65
- Registriert: Sa 27. Okt 2007, 13:27
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Seebergen
Ja, Christian das mag schon sein, aber in Version 0.9.23 mit fpc 2.2.1 wird definitiv nicht gemeckert, allerdings wird auch eine Änderung der Farbe nicht ausgeführt. Das hat mich halt ein bissel Irre gemacht, wie das eben so ist, wenn man sich Dickschädelig auf eine sache festlegt die es gar nicht gibt.Canvas hat keine Eigenschaft Color. Entweder Brush.Color oder Pen.Color.
