Radiobutton auf aligned TPanel.
-
- Beiträge: 732
- Registriert: Di 23. Aug 2016, 14:25
- OS, Lazarus, FPC: Windows 11
- CPU-Target: 64Bit
- Wohnort: Berlin
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
bei Windows 10 grad gegengetestet, das gleiche Problem
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
bei Windows 10 grad gegengetestet, das gleiche Problem
Grüße von Siro
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...
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)
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)
-
- Beiträge: 732
- Registriert: Di 23. Aug 2016, 14:25
- OS, Lazarus, FPC: Windows 11
- CPU-Target: 64Bit
- Wohnort: Berlin
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....
Aber das sollte ich dann in einem separaten Thread fragen, wobei ich da jetzt keinen Bedarf für sehe.
Ich danke Dir.
Siro
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....
Aber das sollte ich dann in einem separaten Thread fragen, wobei ich da jetzt keinen Bedarf für sehe.
Ich danke Dir.
Siro
Grüße von Siro
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...
-
- Beiträge: 6194
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
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.
Verwende Lazarus 1.9 und Linux Mint 64Bit.
So wie es scheint, ist dies ein Windows-Bug.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 732
- Registriert: Di 23. Aug 2016, 14:25
- OS, Lazarus, FPC: Windows 11
- CPU-Target: 64Bit
- Wohnort: Berlin
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...
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...
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...
-
- Beiträge: 6194
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
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.
Aber etwas von Schattenkanten, etc, kann ich nicht feststellen.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 732
- Registriert: Di 23. Aug 2016, 14:25
- OS, Lazarus, FPC: Windows 11
- CPU-Target: 64Bit
- Wohnort: Berlin
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
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 Di 9. Mai 2017, 18:09, insgesamt 1-mal geändert.
Grüße von Siro
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...
-
- Beiträge: 6194
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
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.
Hast du Win7 auch mal mit dem Classic-Thema probiert, welche aussieht wie die von Win95 ?So, ich habe es auf Windows 7 probiert, da tritt auch das Problem auf:
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 732
- Registriert: Di 23. Aug 2016, 14:25
- OS, Lazarus, FPC: Windows 11
- CPU-Target: 64Bit
- Wohnort: Berlin
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.
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...
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...
-
- Beiträge: 6194
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
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 grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 732
- Registriert: Di 23. Aug 2016, 14:25
- OS, Lazarus, FPC: Windows 11
- CPU-Target: 64Bit
- Wohnort: Berlin
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...
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...
-
- Beiträge: 6194
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
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 grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 732
- Registriert: Di 23. Aug 2016, 14:25
- OS, Lazarus, FPC: Windows 11
- CPU-Target: 64Bit
- Wohnort: Berlin
Re: Radiobutton auf aligned TPanel.
mal gucken ob ich ds umgestellt bekomme zum probieren morgen...
Dann einen schönen Abend
Dann einen schönen Abend
Grüße von Siro
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...
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?
-
- Beiträge: 732
- Registriert: Di 23. Aug 2016, 14:25
- OS, Lazarus, FPC: Windows 11
- CPU-Target: 64Bit
- Wohnort: Berlin
Re: Radiobutton auf aligned TPanel.
Achso, jetzt habe ich den "Haken" gefunden... (den Windowsproblembehebenhaken)
und siehe da, dann ist der Fehler auch weg, dann läuft es einwandfrei.
Supi, danke euch nochmals.
Siro
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...
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...