RadioGroup ohne Caption

Für Fehler in Lazarus, um diese von anderen verifizieren zu lassen.

RadioGroup ohne Caption

Beitragvon Mathias » 29. Mai 2017, 19:21 RadioGroup ohne Caption

Wen in der Caption von RadioGroup '' steht, wird ein Rahmen gezeichnet, aber sobald etwa in der Caption steht verschwindet der Rahmen.
Dabei spielt es keine Rolle, ob RadioButtons vorhanden sind. Das einzige was passiert, das die RadionButtons die Postion wechseln.
Code: Alles auswählen
procedure TForm1.Button1Click(Sender: TObject);
begin
  RadioGroup1.Caption:='123'; // Rahmen verschwindet
end;
 
procedure TForm1.Button2Click(Sender: TObject);
begin
  RadioGroup1.Caption:=''; // Rahmen wird gezeichnet
end;
 

Ist das mit dem Rahmen ein Bug ?

Ich habe es mit Linux Mint 64Bit probiert.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4351
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Linkat » 29. Mai 2017, 19:50 Re: RadioGroup ohne Caption

Hallo Mathias,
ich kann das (seltsame) Verhalten bestätigen (Lazarus 1.6.4 FPC 3.0.2 64 bit; Linux Mint 18.1).

Hat nicht unbedingt etwas mit deinem Problem zu tun, habe aber auch das Problem gehabt, dass der Hotkey 'Strg - #' zum Auskommentieren nicht funktionierte (lies sich beheben mit: Werkzeuge -> Einstellungen -> Editor -> Tastaturbelegung -> Textauswahlbefehle .. ). Das Debian-Paket passt wohl nicht unbedingt zu 100% mit Linux Mint 18.1 zusammen. Aber schon bald kommt Lazarus 1.8, vielleicht sind dann die Probleme schon behoben?

Gruß, Linkat
Linkat
Lazarusforum e. V.
 
Beiträge: 422
Registriert: 10. Sep 2006, 22:24
Wohnort: nr Stuttgart
OS, Lazarus, FPC: Linux Mint 19 64 bit; Lazarus 2.0.2 FPC 3.0.4; Raspbian | 
CPU-Target: AMD 64Bit, ARM 32Bit
Nach oben

Beitragvon Mathias » 29. Mai 2017, 21:25 Re: RadioGroup ohne Caption

Aber schon bald kommt Lazarus 1.8, vielleicht sind dann die Probleme schon behoben?

Ich verwende die Trunk 1.9.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4351
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon gladio » 30. Mai 2017, 06:11 Re: RadioGroup ohne Caption

Kann das Verhalten nicht bestätigen:
Win10/64 , Lazarus 1.6
Am Rahmen ändert sich nichts.
gladio
 
Beiträge: 106
Registriert: 21. Jun 2014, 05:15
Wohnort: Insel Rügen
OS, Lazarus, FPC: Win10-32/64 - letzte Lazarus Standard-Edition | 
CPU-Target: 32/64Bit
Nach oben

Beitragvon siro » 30. Mai 2017, 06:24 Re: RadioGroup ohne Caption

Windows 10/64 Bit, Lazarus 1.6.2
kein Problem

Windows 8.1 /64Bit Lazarus 1.6.4
kein Problem

Siro
Grüße von Siro
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...
siro
 
Beiträge: 357
Registriert: 23. Aug 2016, 13:25
Wohnort: Berlin
OS, Lazarus, FPC: Windows 7 und Windows 10 | 
CPU-Target: 64Bit
Nach oben

Beitragvon theo » 30. Mai 2017, 08:46 Re: RadioGroup ohne Caption

Mal das GTK2 Theme gewechselt?
Viele visuelle und z.T. sogar gröbere Probleme hängen mit dem Theme zusammen. Ist nicht so toll.
theo
 
Beiträge: 8196
Registriert: 11. Sep 2006, 18:01

Beitragvon wp_xyz » 30. Mai 2017, 09:44 Re: RadioGroup ohne Caption

Ich kann den im 1.Beitrag beschriebenen Fehler mit Mint 18.1/KDE und Lazarus trunk nicht bestätigen, weder mit gtk2 noch mit qt. Bin allerdings auf 32 Bit.
wp_xyz
 
Beiträge: 3008
Registriert: 8. Apr 2011, 08:01

Beitragvon Mathias » 30. Mai 2017, 17:11 Re: RadioGroup ohne Caption

Ich habe es jetzt noch mit Wine getestet, hier habe ich immer einen Rahmen, so wie es eigentlich erwünscht wäre.

Bei den RadioButtons, welche in der Lazarus-IDE vorkommen, fehlen auch überall die Rahmen, ausser in Wine.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4351
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Michl » 30. Mai 2017, 18:53 Re: RadioGroup ohne Caption

Ich kann das Verhalten mit 64bit Linux 18.1 Cinnamon bestätigen. Alle der Groupbox abstammenden Komponenten (TRadioGroup, TGroupBox, TCheckGroup...) zeigen das Verhalten. Durch das Label wird der Rahmen überzeichnet.

Keine Ahnung, ob man das fixen will. Eine Möglichkeit wäre das Align zu ändern https://people.gnome.org/~shaunm/girdoc/C/Gtk.Frame.html

@Mathias: Probiere doch mal:
Code: Alles auswählen
unit Gtk2WSStdCtrls; 
...
// Zeile 2238
class procedure TGtk2WSCustomGroupBox.SetLabel(AFrame: PGtkFrame; AText: String);
var
  Lbl: PGtkWidget;
begin
  Lbl := gtk_frame_get_label_widget(AFrame);
  if (AText = '') then
  begin
    if Lbl <> nil then
      gtk_widget_destroy(Lbl);
  end
  else
  begin
    if Lbl = nil then
    begin
      Lbl := gtk_label_new(nil);
      gtk_widget_show(Lbl);
      gtk_frame_set_label_widget(AFrame, Lbl);
      gtk_frame_set_label_align(AFrame, 1, 1)// <-- diese Zeile einfügen
    end;
    Gtk2Widgetset.SetLabelCaption(PGtkLabel(Lbl), AText);
  end;
end;
ob es nun deinen Wünschen entspricht?!
Code: Alles auswählen
type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 
Michl
 
Beiträge: 2325
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 wp_xyz » 30. Mai 2017, 19:00 Re: RadioGroup ohne Caption

Michl hat geschrieben:Ich kann das Verhalten mit 64bit Linux 18.1 Cinnamon bestätigen.

Aber wieso geht's bei mir? Liegt das an 64-Bit? Ich habe mir am Samstag einen sehr aktuellen Trunk gebaut. Welche Version habt ihr? Vielleicht hat jemand da vor kurzem noch etwas gemacht?
wp_xyz
 
Beiträge: 3008
Registriert: 8. Apr 2011, 08:01

Beitragvon Mathias » 30. Mai 2017, 19:16 Re: RadioGroup ohne Caption

ob es nun deinen Wünschen entspricht?!

Brauchen tue ich es nicht, mir ist dies nur aufgefallen, als ich mit dem Fragespiel rumbastelte.

So wie es scheint, ist dies ein Problem von Cinnamon.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4351
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Michl » 30. Mai 2017, 19:40 Re: RadioGroup ohne Caption

Habe eben noch 64bit OpenSuse Leap 42.2 KDE GTK2 version 2.24.31, Lazarus 1.9.0 r55122 FPC 3.0.2 x86_64-linux-gtk2 und 64bit Linux Mint 17.3 KDE, GTK2 version 2.24.23, Lazarus 1.9.0 r54826 FPC 3.0.2 x86_64-linux-gtk2 getestet. Das Problem ist überall zu sehen.

wp_xyz hat geschrieben:Aber wieso geht's bei mir?
Nein, geht auch nicht richtig, ist aber nicht so offensichtlich. Wenn du ganz genau hinschaust, änders sich die Hintergrundfarbe (Grauverlauf) und bei einer vorhandenen Beschriftung verschwindet die untere Begrenzungslinie.

BTW: die oben eingefügte Zeile ist nicht günstig, da das Label dann oberhalb der Box ersichtlich ist.

Wie verhalten sich eigentlich andere Programme unter GTK2? Ich habe mal kurz geschaut, konnte aber nirgends sowas wie eine GroupBox entdecken.
Code: Alles auswählen
type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 
Michl
 
Beiträge: 2325
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 Mathias » 30. Mai 2017, 19:49 Re: RadioGroup ohne Caption

Wie verhalten sich eigentlich andere Programme unter GTK2?

Bei LibreOfficen scheine auch die Rahmen zu fehlen.
Bei NetBeans fehlen sie auch.
Bei Eclipse hat es Rahmen, aber ich denke dort wird es etwas Java eigenes zu haben.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4351
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Michl » 30. Mai 2017, 19:56 Re: RadioGroup ohne Caption

Mathias hat geschrieben:Bei LibreOfficen scheine auch die Rahmen zu fehlen.
Bei NetBeans fehlen sie auch.
Bei Eclipse hat es Rahmen, aber ich denke dort wird es etwas Java eigenes zu haben.
Tiptop! Dann ist ja alles in Butter!

Zum Problem:
Da bei einem leeren String das Widgetset-Label freigegeben wird, kannst du ja sowas machen:
Code: Alles auswählen
procedure TForm1.Button2Click(Sender: TObject);
begin
  RadioGroup1.Caption:=' ';
end;
Code: Alles auswählen
type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 
Michl
 
Beiträge: 2325
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 Mathias » 30. Mai 2017, 20:00 Re: RadioGroup ohne Caption

Da bei einem leeren String das Widgetset-Label freigegeben wird, kannst du ja sowas machen:

Gute Idee, somit fällt der Fehler nicht so auf.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4351
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

» Weitere Beiträge siehe nächste Seite »
Nächste

Zurück zu Lazarus - Bugs



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

porpoises-institution
accuracy-worried