Eigene Scrollbox

Rund um die LCL und andere Komponenten
Antworten
pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Eigene Scrollbox

Beitrag von pluto »

Hallo,
ich habe hier mal eine neue Idee für mich zum Thema Scrollen gepostet.
Das ganze soll eine art Scrollbox werden:
http://www.delphigl.com/forum/viewtopic.php?t=7669
Der Einfachheitshalber poste ich nur den link. Ich hoffe das nimmt ihr mir nicht übel.
Was haltet ihr von der Idee ?
Das würde für mich und andere evlt. als Grundlage für viele Projekte gelten. z.b. für ein Text Editor oder eine neuen ListBox oder was auch immer.
MFG
Michael Springwald

Bora4d
Beiträge: 290
Registriert: Mo 24. Dez 2007, 13:14
OS, Lazarus, FPC: WinXP-Pro-Sp3, Xubuntu 12.04, (Laz 1.1-SVN Mai2012, FPC 2.6.1 / 2.6.0-Linux)
CPU-Target: AMD64X2

Beitrag von Bora4d »

Wozu brauchst du denn eine weitere Scrollbox es gibt schon ein vernünftiges. Du mußt nur darin deine komponenten plazieren und es funktioniert automatisch. Deine Komponenten dürfen nicht alNone ausgerichtet sein. Wenn dein TImage größer als Scrollbox's Klientbereich ist dann werden automatisch Scrollbarangezeigt.

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Ich habe einige Zeit mit der Scrollbox von Lazarus gearbeitet.
1) Es flacker bei mir wenn ich die Scrollbalken mit der Mausbewege.
wenn ich z.b. aus einer TBitmap was rein kopiere. Ich habe es leider auch nicht geschafft zu verhindern das der Hintergrund neu gezeichnet wird, weil die dafür vorgesehen Events werden nicht aufgerufen.

2) Kannst du dir vorstellen mit Hilfe der Scrollbox von der LCL eine ListBox zu schreiben ?
(sag jetzt nicht, nein, weil es gibt schon eine)

3) Weil ich versuchen möchte ob ich es überhaupt Hinbekommen.
Ich habe/hatte immer Probleme beim Scrollen. Mit diesem Projekt hoffe ich einfach das ein für alle male für mich zu erledigen. und eine Optimale Lösung zu schaffen.

und ihr habt selbst gesagt in anderen Thread das die Scrollbox Probleme hat.
Aber darum geht es mir eigentlich weniger. Sondern darum was ihr von der Idee im allgemeinen haltet. und nicht ob es sowas schon 1000 mal gibt. Weil wenn man da nicht geht, braucht man ja gar nicht mehr zu Programmieren. weil es gibt ja schon alles wie Sand am Meer. !
Ich bitte auch darum die eigentliche Frage zu "beantworten" !
Weil sonst wird es hier wieder so unübersichtlich.

Das andere Thema können wir ja durchaus nochmal in einen anderen Thread besprechen was es am meisten sinn macht zu Programmieren.
MFG
Michael Springwald

Bora4d
Beiträge: 290
Registriert: Mo 24. Dez 2007, 13:14
OS, Lazarus, FPC: WinXP-Pro-Sp3, Xubuntu 12.04, (Laz 1.1-SVN Mai2012, FPC 2.6.1 / 2.6.0-Linux)
CPU-Target: AMD64X2

Beitrag von Bora4d »

Zu 1)Scrollbox von Lazarus ist fehlerhaft deshalb flackert er wahrscheinlich. Ich habe ein sehr großes TImage an x=0,y=0 plaziert. Er scrollt dass Bild nach unten, macht auch zittrige Bewegungen sieht wie Flackern aus aber ist Fehler. Wenn du den Scroller von dieser Webseite nach unten ziehst, scrollt ja der Inhalt nach oben, aber Lazarus.Scroller geht das in gleiche richtung mit Zittern. Du kannst WMEraseBkgnd/LM_ERASEBKGND Message benutzen um Hintergrund Zeichnen/Löschen zu verhindern. Ruf einfach bei WMEraseBkgnd nicht inherited auf. Oder du kannst auch selber basteln. Aber lieber den Fehler korregieren, weil man ihn öfters braucht.

Zu 2)Ja kann ich, ich habe mal aus TListbox/TCombobox zwei spaltige Grid mit Bild am Rand gebastelt, mann konnte beide Spalten editieren. Ist für DB-Anwendung, weil der Kunde Firmennamen und Firmennr. sehen wollte. Und einmal hatte ich sogar aus ganz normalen Fenster unter Windows 3.1 Scrollbox gebastelt mit TPW 1.5.

Zu 3)Ich glaube nicht du sondern Lazarus-Scrollbox hat probleme. Gleiches Demo-Programm funktioniert bei Delphi problemlos.

Got Sei Dank habe ich mein Programm von heute Morgen mit Delphi erstellt, sonst müßte ich unnötig nach Fehlern suchen, weil ich auch TPaintBox und TScrollBox verwende.

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

WMEraseBkgnd/LM_ERASEBKGND Message benutzen um Hintergrund Zeichnen/Löschen

Das hatte ich versucht mit einer Test Komponente die ich abgeleitet hatte von der Scrollbox, diese Events/Methoden wurde nicht aufgerufen.

Zu 3)Ich glaube nicht du sondern Lazarus-Scrollbox hat probleme.

Oh ! Das Höhrer ich zum ersten mal danke !

weil ich auch TPaintBox und TScrollBox verwende.

Mir sind nur Fehler aufgefallen bei GTk2 in Verbindung mit den Scrollbalken und mit der PaintBox. Daher kompeliere ich meine Anwendung nur mit GTk1 *G*
Aber wie gesagt darum soll es hier nicht gehen.
MFG
Michael Springwald

Antworten