Hintergrundfarbe der Form

Für Fragen von Einsteigern und Programmieranfängern...

Hintergrundfarbe der Form

Beitragvon wennerer » 26. Jan 2019, 18:37 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
wennerer
 
Beiträge: 28
Registriert: 19. Mai 2015, 19:05
OS, Lazarus, FPC: Ubuntu 16.04, Lazarus 1.6, FPC 3.0.0 | 
CPU-Target: xxBit
Nach oben

Beitragvon wennerer » 27. Jan 2019, 07:51 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ß.
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.
 
 
wennerer
 
Beiträge: 28
Registriert: 19. Mai 2015, 19:05
OS, Lazarus, FPC: Ubuntu 16.04, Lazarus 1.6, FPC 3.0.0 | 
CPU-Target: xxBit
Nach oben

Beitragvon fliegermichl » 27. Jan 2019, 09:31 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.
fliegermichl
 
Beiträge: 252
Registriert: 9. Jun 2011, 08:42

Beitragvon wennerer » 27. Jan 2019, 10:11 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
wennerer
 
Beiträge: 28
Registriert: 19. Mai 2015, 19:05
OS, Lazarus, FPC: Ubuntu 16.04, Lazarus 1.6, FPC 3.0.0 | 
CPU-Target: xxBit
Nach oben

Beitragvon theo » 27. Jan 2019, 11:21 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):

Code: Alles auswählen
procedure TForm1.FormPaint(Sender: TObject);
begin
  Canvas.FillRect(0,0,Form1.Width,Frame1.Height+20);
end
theo
 
Beiträge: 8116
Registriert: 11. Sep 2006, 18:01

Beitragvon wennerer » 27. Jan 2019, 13:08 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ß. :lol:

Viele Grüße
Bernd
wennerer
 
Beiträge: 28
Registriert: 19. Mai 2015, 19:05
OS, Lazarus, FPC: Ubuntu 16.04, Lazarus 1.6, FPC 3.0.0 | 
CPU-Target: xxBit
Nach oben

Beitragvon Michl » 27. Jan 2019, 14:46 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; 
Michl
 
Beiträge: 2318
Registriert: 19. Jun 2012, 11:54
OS, Lazarus, FPC: Win7 Laz 1.7 Trunk FPC 3.1.1 Trunk | 
CPU-Target: 32Bit/64bit
Nach oben

Beitragvon wennerer » 27. Jan 2019, 16:32 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
wennerer
 
Beiträge: 28
Registriert: 19. Mai 2015, 19:05
OS, Lazarus, FPC: Ubuntu 16.04, Lazarus 1.6, FPC 3.0.0 | 
CPU-Target: xxBit
Nach oben

Beitragvon wp_xyz » 27. Jan 2019, 17:10 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.
wp_xyz
 
Beiträge: 2800
Registriert: 8. Apr 2011, 08:01

Beitragvon wennerer » 27. Jan 2019, 17:47 Re: Hintergrundfarbe der Form

Hallo wp_xyz,
hast du natürlich vollkommen recht. Vielen Dank für deine Arbeit!!
Viele Grüße
Bernd
wennerer
 
Beiträge: 28
Registriert: 19. Mai 2015, 19:05
OS, Lazarus, FPC: Ubuntu 16.04, Lazarus 1.6, FPC 3.0.0 | 
CPU-Target: xxBit
Nach oben

• Themenende •

Zurück zu Einsteigerfragen



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 7 Gäste

cron
porpoises-institution
accuracy-worried