Radiobutton auf aligned TPanel.

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

Radiobutton auf aligned TPanel.

Beitragvon siro » 7. Mai 2017, 09:11 Radiobutton auf aligned TPanel.

vorab:
Lazarus Version 1.6.4
Windows 8.1 64Bit

Ich habe einen Radiobutton auf ein Panel gesetzt, das Panel mit Align Top ausgerichtet.
Wenn man jetzt das Fenster (rechts) in der Breite ändert, so übermalt die rechte Schattenkante des Panels
den Text vom Radiobutton, bzw. restauriert ihn danch nicht richtig.

Das brauche ich auch garnicht, aber es war mir beim Experimentieren aufgefallen.
Ich habe das Mini Projektchen mal angehangen.

wobei das im Nu ausprobiert ist.

Panel auf Formular.
Align :alTop setzten
Radiobutton aufs Panel und Programm starten
Den Radiobutton am besten etwas unter das Caption "Panel" setzen.

So habe grade gemerkt, dass der Text vom Panel dann auch den Text vom Radiobutton zerstört und nicht
richtig restauriert.

Siro

Radio_auf_Panel.zip
(126.47 KiB) 15-mal heruntergeladen


bei Windows 10 grad gegengetestet, das gleiche Problem
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 wp_xyz » 7. Mai 2017, 10:30 Re: Radiobutton auf aligned TPanel.

TRadioButton (und TCheckbox) sind "transparent", d.h. sie löschen beim Neuzeichnen den Hintergrund nicht. Daher bleiben bei Aktionen, wie von dir beschrieben, evtl. störende Reste im Hintergrundbereich übrig. Man könnte wahrscheinlich die Komponente so ändern, dass sie den Hintergrund automatisch löscht, nur bewirkt dann jedes Neuzeichnen ein kurzes Flackern. Delphi zeigt übrigens denselben Effekt. Ich erinnere mich an einige Programme, bei denen ich das als sehr lästig empfunden habe.

Du kannst die Reste vermeiden, indem du entweder im OnResize des Panels, auf dem sich der Radiobutton befindet, einfach Panel.Invalidate aufrufst - das zeichnet den Hintergrund neu. (Es reicht aber auch nur ein Radiobutton.Invalidate - was meiner oben geäußerten Theorie, dass der Hintergrund nicht gelöscht wird, widerspricht ...).

Oder du kompilierst das Projekt ohne Theme-Unterstützung ("Projekteinstellungen" > "Anwendung" > "Themen mit Manifest-Datei einschalten" wegklicken)
wp_xyz
 
Beiträge: 3004
Registriert: 8. Apr 2011, 08:01

Beitragvon siro » 8. Mai 2017, 17:00 Re: Radiobutton auf aligned TPanel.

Hallo wp_xyz:
Mit RadioButton.invalidate bei OnResize läuft es einwandfrei.
Erstaunlich: während der Designphase taucht das Problem garnicht auf.

Mit Theme Uunterstützung und Manifest sagt mir leider garnichst. Keine Ahnung was das ist.... :shock:
Aber das sollte ich dann in einem separaten Thread fragen, wobei ich da jetzt keinen Bedarf für sehe. :lol:

Ich danke Dir.

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 Mathias » 8. Mai 2017, 17:38 Re: Radiobutton auf aligned TPanel.

Ich habe die ZIP, beim ersten Post getestet, bei mir läuft dies fehlerfrei.

Verwende Lazarus 1.9 und Linux Mint 64Bit.

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

Beitragvon siro » 8. Mai 2017, 18:21 Re: Radiobutton auf aligned TPanel.

Oho, vielleicht wirklich ein Windowsproblem
ich habs bisher auf Win 8.1 und 10 probiert, ich mach das morgen nochmal in der Firma mit Winows 7...
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 Mathias » 8. Mai 2017, 21:25 Re: Radiobutton auf aligned TPanel.

Mit WinXP und Lazarus 1.6.4 sieht es auch gut aus,. Einzig, der Text "RadioButton1" überdeckt den Text "Panel1".
Aber etwas von Schattenkanten, etc, kann ich nicht feststellen.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4350
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon siro » 9. Mai 2017, 17:02 Re: Radiobutton auf aligned TPanel.

So, ich habe es auf Windows 7 probiert, da tritt auch das Problem auf:

ich habe mal ein Video gemacht und bei DropBox hochgeladen.
Das Problem ist ja soweit gelöst, mittels invalidate bei Resize, lediglich zum Anschauen, was ich meinte mit der Schattenkante:

https://www.dropbox.com/s/l7bcbhfuq1a4q9u/Panel_Radio.mp4?dl=0

Siro
Zuletzt geändert von siro am 9. Mai 2017, 17:09, insgesamt 1-mal geändert.
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 Mathias » 9. Mai 2017, 17:05 Re: Radiobutton auf aligned TPanel.

Ich habe gerade das Video angeguckt, die Schatten sehen unschön aus. Da sieht man, das Windows wieder einem eine Rückschritt gemacht hat.

So, ich habe es auf Windows 7 probiert, da tritt auch das Problem auf:
Hast du Win7 auch mal mit dem Classic-Thema probiert, welche aussieht wie die von Win95 ?
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4350
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon siro » 9. Mai 2017, 17:10 Re: Radiobutton auf aligned TPanel.

Classic-Thema ?? das sagt mit jetzt nix ? was meinst Du damit.
Du meinst die klassiche Ansich denke ich mal. Ich glaube die habe ich generell.
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 Mathias » 9. Mai 2017, 17:15 Re: Radiobutton auf aligned TPanel.

Classic-Thema ?? das sagt mit jetzt nix ? was meinst Du damit.
Du meinst die klassiche Ansich denke ich mal. Ich glaube die habe ich generell.

Die graue Oberfläche, wie im folgenden Link.

http://www.guidebookgallery.org/pics/gu ... /win95.png
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4350
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon siro » 9. Mai 2017, 17:29 Re: Radiobutton auf aligned TPanel.

Achso, nee die hab ich auch nicht mehr.
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 Mathias » 9. Mai 2017, 17:34 Re: Radiobutton auf aligned TPanel.

siro hat geschrieben:Achso, nee die hab ich auch nicht mehr.

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

Beitragvon siro » 9. Mai 2017, 17:35 Re: Radiobutton auf aligned TPanel.

mal gucken ob ich ds umgestellt bekomme zum probieren morgen...
Dann einen schönen Abend
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 wp_xyz » 9. Mai 2017, 17:49 Re: Radiobutton auf aligned TPanel.

siro hat geschrieben:mal gucken ob ich ds umgestellt bekomme zum probieren morgen...

Du musst nur, wie ich gaaaaanz oben schon geschrieben habe, in die Projekteinstellungen (Menü "Projekt") gehen, und das Häkchen bei "Für Windows" "Themen mit Manifestdatei verwenden" wegmachen. Dann neu kompilieren. Damit hat dein Programm den Stil von Windows95 und der Fehler ist weg. Aber ob du so einfach 20 Jahre in den Wind blasen willst?
wp_xyz
 
Beiträge: 3004
Registriert: 8. Apr 2011, 08:01

Beitragvon siro » 9. Mai 2017, 18:26 Re: Radiobutton auf aligned TPanel.

Achso, jetzt habe ich den "Haken" gefunden... :P (den Windowsproblembehebenhaken) :lol:

und siehe da, dann ist der Fehler auch weg, dann läuft es einwandfrei. :)

Supi, danke euch nochmals.

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

» 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