Hallo,
ich habe während der Arbeit an meinen letzten Programmen ein Paar Fehlerchen in Lazarus entdeckt...
Um diese zu veranschaulichen habe ich gleich mal ein Vorführprogramm hoch geladen:
http://www.mitjastachowiak.de/?File=projects/Bugs.exe
oder
http://www.mitjastachowiak.de/projects/Bugs.exe
Die meisten kann man leicht umgehen, nur mit den Scrollbars komme ich nicht weiter: Immer wenn ich in einer TScrollBox Elemente mit Anchor verbinde, erscheint keine Scrollbar, wenn diese "über den Tellerrand schauen"...
Hat dazu jemand eine Idee?
Ich habe im Augenblick ein wenig zu viel zu tun, um mich dem Bug Tracker anzunehmen. Es währe als nett, wenn jemand den zuständigen Leuten mal den Link schicken könnte; gegebenen Falls in Englisch - sollte schnell gehen und leicht behebbar sein.
- Ich kann's aber auch demnächst irgendwann selber machen -
Keine Scrollbar bei Elementen mit Anchor
-
- Lazarusforum e. V.
- Beiträge: 393
- Registriert: Sa 15. Mai 2010, 13:46
- CPU-Target: 64 bit
- Kontaktdaten:
-
- Beiträge: 770
- Registriert: Sa 21. Feb 2009, 13:46
- OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
- CPU-Target: 32Bit
Re: Keine Scrollbar bei Elementen mit Anchor
also scroll box funkioniert bei mir in der IDE. ich hab ne box genommen - alle 4 seiten nen anchor eingestellt und dann nen bitbutton drauf und bewegt (normaler button geht auch) und die scrollleisten kommen.
Gib mal angaben über dein Lazarus ? FPC ?
Also ich hab SVN 29154 FPC: 2.4.3 - Laz: 0.9.31
sonnst nimmst du das onrezise ereignis und bearbeitest die größer der scrollbox da ... bisschen unschöner aber auch machbar...
Gib mal angaben über dein Lazarus ? FPC ?
Also ich hab SVN 29154 FPC: 2.4.3 - Laz: 0.9.31
sonnst nimmst du das onrezise ereignis und bearbeitest die größer der scrollbox da ... bisschen unschöner aber auch machbar...
Code: Alles auswählen
Signatur := nil;
-
- Lazarusforum e. V.
- Beiträge: 393
- Registriert: Sa 15. Mai 2010, 13:46
- CPU-Target: 64 bit
- Kontaktdaten:
Re: Keine Scrollbar bei Elementen mit Anchor
Ups, jetzt habe ich mich unklar ausgedrückt *sorry*... Ich meinte, nicht die ScrollBox hat Anker, sondern Elemente in der ScrollBox sind mit Ankern verbunden:
Man setzt in die ScrollBox einen Button und klebt an diesen Button einen zweiten - mit AnchorToNeighbour, so, dass der zweite Button etwas über den Rand geht. Dann gibt es bei mir keine ScrollBars...
Meine Version ist "Lazarus IDE v0.9.28.2 Beta".
Man setzt in die ScrollBox einen Button und klebt an diesen Button einen zweiten - mit AnchorToNeighbour, so, dass der zweite Button etwas über den Rand geht. Dann gibt es bei mir keine ScrollBars...
Meine Version ist "Lazarus IDE v0.9.28.2 Beta".
-
- Beiträge: 770
- Registriert: Sa 21. Feb 2009, 13:46
- OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
- CPU-Target: 32Bit
Re: Keine Scrollbar bei Elementen mit Anchor
Das könnte eher Feature statt Bug sein
Wenn ich ein Button zum unteren Rand ( wie bei dir) mit dem Abstand -20 stezte, dann gilt dieser Abstand sehr wahrscheinlich zum Rand der Scrollbox - und der Verändert sich ja nicht wenn man scrollt.

Wenn ich ein Button zum unteren Rand ( wie bei dir) mit dem Abstand -20 stezte, dann gilt dieser Abstand sehr wahrscheinlich zum Rand der Scrollbox - und der Verändert sich ja nicht wenn man scrollt.
Code: Alles auswählen
Signatur := nil;
-
- Lazarusforum e. V.
- Beiträge: 393
- Registriert: Sa 15. Mai 2010, 13:46
- CPU-Target: 64 bit
- Kontaktdaten:
Re: Keine Scrollbar bei Elementen mit Anchor
Nein, die Anker sind nicht relativ zur ScrollBox.
In diesem Programm sieht man es nochmal: http://www.mitjastachowiak.de/?/Project ... Funktionen
Hier (http://www.mitjastachowiak.de/projects/Bugs.rar) habe ich nochmal das andere Programm mit Quellcode:
Button 3 hängt an Button 1. Button 3 erzeugt aber keine Scrollbars...
In diesem Programm sieht man es nochmal: http://www.mitjastachowiak.de/?/Project ... Funktionen
Hier (http://www.mitjastachowiak.de/projects/Bugs.rar) habe ich nochmal das andere Programm mit Quellcode:
Button 3 hängt an Button 1. Button 3 erzeugt aber keine Scrollbars...
-
- Lazarusforum e. V.
- Beiträge: 393
- Registriert: Sa 15. Mai 2010, 13:46
- CPU-Target: 64 bit
- Kontaktdaten:
Re: Keine Scrollbar bei Elementen mit Anchor
So, ich habe das Problem (hinreichend) gelöst:
Man macht in die Scrollbox, in der die Scrollbars fehlen, ein Label, das nur ein Leerzeichen (oder so) als Inhalt hat, sodass man es nicht sieht.
Dann gibt man diesem Label die gleiche Position, wie dem letzten Element (Das keine Scrollbars auslöst). Dies kann man zum Beispiel erreichen, in dem man die Werte von ClientToScreen der ScrollBox von den Werten von ClientToScreen dieses letzten Elements abzieht, und dem Label diese Differenz als Position gibt.
Klingt etwas aufwändig, ist es aber eigentlich nicht. Ich würde daraus gerne eine allgemeine Funktion machen. Diese müsste immer dann aufgerufen werden, wenn die Position von einem der Elemente in der Scrollbox geändert wird. Weiß jemand, ob es da einen Trick gibt, der es ermöglicht, eine Funktion immer dann aufzurufen wenn eines dieser Sub-Elemente verschoben wird?
Man macht in die Scrollbox, in der die Scrollbars fehlen, ein Label, das nur ein Leerzeichen (oder so) als Inhalt hat, sodass man es nicht sieht.
Dann gibt man diesem Label die gleiche Position, wie dem letzten Element (Das keine Scrollbars auslöst). Dies kann man zum Beispiel erreichen, in dem man die Werte von ClientToScreen der ScrollBox von den Werten von ClientToScreen dieses letzten Elements abzieht, und dem Label diese Differenz als Position gibt.
Klingt etwas aufwändig, ist es aber eigentlich nicht. Ich würde daraus gerne eine allgemeine Funktion machen. Diese müsste immer dann aufgerufen werden, wenn die Position von einem der Elemente in der Scrollbox geändert wird. Weiß jemand, ob es da einen Trick gibt, der es ermöglicht, eine Funktion immer dann aufzurufen wenn eines dieser Sub-Elemente verschoben wird?