Hintergrundfarbe der Form
-
- Beiträge: 607
- Registriert: Di 19. Mai 2015, 20:05
- OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
- CPU-Target: x86_64-linux-gtk2
Hintergrundfarbe der Form
Hallo an Alle,
ich habe folgendes Problem bei dem ich nicht weiter komme. Ich setze auf eine Form ein Frame. Die Form ist hellgrau, die Frame weiß. Bei der Form ist Autoscroll auf true. Während der Laufzeit ändert sich die Größe der Frame so das diese größer als die Form ist. Scrolle ich nun die Form runter ist der neue Bereich der Form nicht hellgrau sondern bleibt weiß. Such schon länger wie das richtig gemacht wird, finde aber leider nichts. Ach ja, Lazarus 1.6 und Ubuntu.
Schonmal vielen Dank für eure Hilfe!
Bernd
ich habe folgendes Problem bei dem ich nicht weiter komme. Ich setze auf eine Form ein Frame. Die Form ist hellgrau, die Frame weiß. Bei der Form ist Autoscroll auf true. Während der Laufzeit ändert sich die Größe der Frame so das diese größer als die Form ist. Scrolle ich nun die Form runter ist der neue Bereich der Form nicht hellgrau sondern bleibt weiß. Such schon länger wie das richtig gemacht wird, finde aber leider nichts. Ach ja, Lazarus 1.6 und Ubuntu.
Schonmal vielen Dank für eure Hilfe!
Bernd
-
- Beiträge: 607
- Registriert: Di 19. Mai 2015, 20:05
- OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
- CPU-Target: x86_64-linux-gtk2
Re: Hintergrundfarbe der Form
Hallo nochmal,
ich hänge mal noch was zum Probieren an, damit ihr besser versteht was ich meine. Wenn ich scrolle bleibt meine Form im neuen Bereich weiß.
ich hänge mal noch was zum Probieren an, damit ihr besser versteht was ich meine. Wenn ich scrolle bleibt meine Form im neuen Bereich weiß.
Code: Alles auswählen
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs;
type
{ TForm1 }
TForm1 = class(TForm)
Frame1 : TFrame;
procedure FormCreate(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.Color := clblue;
Form1.Width := 650;
Form1.Height := 500;
Form1.Caption:= 'Frame=rot, Form=blau';
Form1.AutoScroll:= true;
Frame1 := TFrame.Create(self);
Frame1.Parent := Form1;
Frame1.Color := clred;
Frame1.Left := 20;
Frame1.Top := 20;
Frame1.Width := 250;
Frame1.Height := 700;
end;
end.
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1639
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: Hintergrundfarbe der Form
Hallo,
ja das ist doch logisch. Der Bereich eines Formulares, der von einem Control belegt wird hat die Farbe des Controls. Wenn jetzt das Control größer als das Formular wird, dann scrollt der vom einen Ende des zu großen Controls zum anderen und das ist nun mal in der Farbe des Controls.
ja das ist doch logisch. Der Bereich eines Formulares, der von einem Control belegt wird hat die Farbe des Controls. Wenn jetzt das Control größer als das Formular wird, dann scrollt der vom einen Ende des zu großen Controls zum anderen und das ist nun mal in der Farbe des Controls.
-
- Beiträge: 607
- Registriert: Di 19. Mai 2015, 20:05
- OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
- CPU-Target: x86_64-linux-gtk2
Re: Hintergrundfarbe der Form
Vielen Dank für deine Antwort.
Wenn das Control in Breite und Höhe größer als das Formular wird verstehe ich deine Antwort. Bei mir wird aber nur die Höhe größer und die Breite ist kleiner. Es bleibt also ein Teil des Formulars sichtbar. Scrolle ich nun ist der obere Bereich der Form blau und unten wird sie weiß. Was muss ich also tun damit die Farbe des Formulars von oben bis unten gleich bleibt?
Gruß
Bernd
Wenn das Control in Breite und Höhe größer als das Formular wird verstehe ich deine Antwort. Bei mir wird aber nur die Höhe größer und die Breite ist kleiner. Es bleibt also ein Teil des Formulars sichtbar. Scrolle ich nun ist der obere Bereich der Form blau und unten wird sie weiß. Was muss ich also tun damit die Farbe des Formulars von oben bis unten gleich bleibt?
Gruß
Bernd
Re: Hintergrundfarbe der Form
Ich benutze eigentlich kaum Frames, deshalb bin ich nicht ganz sicher, aber das sieht für mich nach Bug aus.
Hast du schon im Bug Tracker danach gesucht?
http://wiki.freepascal.org/How_do_I_cre ... _report/de
Vielleicht gibt es auch eine halbwegs logische Erklärung dafür. K.A.
Zwischenzeitliche Abhilfe für deinen spezifischen Fall könnte man so schaffen (Im OnPaint einhängen):
Hast du schon im Bug Tracker danach gesucht?
http://wiki.freepascal.org/How_do_I_cre ... _report/de
Vielleicht gibt es auch eine halbwegs logische Erklärung dafür. K.A.
Zwischenzeitliche Abhilfe für deinen spezifischen Fall könnte man so schaffen (Im OnPaint einhängen):
Code: Alles auswählen
procedure TForm1.FormPaint(Sender: TObject);
begin
Canvas.FillRect(0,0,Form1.Width,Frame1.Height+20);
end;
-
- Beiträge: 607
- Registriert: Di 19. Mai 2015, 20:05
- OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
- CPU-Target: x86_64-linux-gtk2
Re: Hintergrundfarbe der Form
Hallo Theo,
vielen Dank. Deine Lösung funktioniert einwandfrei, werde ich so machen.
Mit dem Bug Tracker bin ich leider überfordert. Mach das hier nur zum Spaß.
Viele Grüße
Bernd
vielen Dank. Deine Lösung funktioniert einwandfrei, werde ich so machen.
Mit dem Bug Tracker bin ich leider überfordert. Mach das hier nur zum Spaß.

Viele Grüße
Bernd
Re: Hintergrundfarbe der Form
Habe es eben auch getestet. Dies scheint tatsächlich ein GTK2-Bug zu sein (Win32 funktioniert, GTK2 unter Linux Mint KDE GTK2 nicht). Bitte mach ein Bugreport (Beispiel Sourcecode gezippt), wie von theo vorgeschlagen, sonst wird sich niemand damit befassen und der Fehler wird vergessen, bis wieder jemand über das gleiche Problem stolpert.
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
-
- Beiträge: 607
- Registriert: Di 19. Mai 2015, 20:05
- OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
- CPU-Target: x86_64-linux-gtk2
Re: Hintergrundfarbe der Form
Hallo Michl,
wenn das nicht nur bei mir so ist und ich nichts falsch gemacht habe hast du natürlich recht. Habe mich beim Bugreport angemeldet und den Fehler gemeldet.
Hoffe nur das ich alles richtig ausgefüllt hab. Bin da nicht so firm in so was.
Viele Grüße
Bernd
wenn das nicht nur bei mir so ist und ich nichts falsch gemacht habe hast du natürlich recht. Habe mich beim Bugreport angemeldet und den Fehler gemeldet.
Hoffe nur das ich alles richtig ausgefüllt hab. Bin da nicht so firm in so was.
Viele Grüße
Bernd
Re: Hintergrundfarbe der Form
Danke für den Report. Aber in Englisch soltest du ihn schon schreiben, und sei es als Google-Translate-Version. Die Entwickler von Lazarus/FPC sind über die ganze Welt verstreut, und die wenigsten können Deutsch. Englisch ist nun mal die gemeinsame Sprache. Und keine Angst, es gibt hier keine Englisch-Noten!
Ich habe den Report nun auf Englisch übersetzt.
Ich habe den Report nun auf Englisch übersetzt.
-
- Beiträge: 607
- Registriert: Di 19. Mai 2015, 20:05
- OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
- CPU-Target: x86_64-linux-gtk2
Re: Hintergrundfarbe der Form
Hallo wp_xyz,
hast du natürlich vollkommen recht. Vielen Dank für deine Arbeit!!
Viele Grüße
Bernd
hast du natürlich vollkommen recht. Vielen Dank für deine Arbeit!!
Viele Grüße
Bernd