scrollen wie iPad ...?
- NicTheQuick
- Ein Admin
- Beiträge: 8807
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Re: scrollen wie iPad ...?
Bei mir geht der Code von PureLust nicht.
Re: scrollen wie iPad ...?
Die Umsetzung von PureLust ist sehr gut. Allerdings kann man auch
automatisch Touch-Support für alle Controls inkl. Kinetik-Scrolling mit
Mousetools wie MouseImp (http://www.mouseimp.com/) hinzufügen.
automatisch Touch-Support für alle Controls inkl. Kinetik-Scrolling mit
Mousetools wie MouseImp (http://www.mouseimp.com/) hinzufügen.
"Papa, ich laufe schneller - dann ist es nicht so weit."
- PureLust
- Beiträge: 1145
- Registriert: 21.07.2005 00:02
- Computerausstattung: Hab aktuell im Grunde nur noch 'nen Lenovo Yoga 2 Pro im Einsatz.
- Wohnort: am schönen Niederrhein
Re: scrollen wie iPad ...?
@dige: Dank auch von mir für den echt interessanten Link.
Ich persönlich empfinde die Umsetzung des Scrollings zwar als nicht ganz so intuitiv wie beim üblichen "Touch-Handy" (da mir das "anstubsen" und automatische Weiterscrollen fehlt),
aber um bereits bestehende Programme "mal eben" auf Touch-Scrolling um zu rüsten ist es wirklich genial.
Thx und Gruß, PL.
Ich persönlich empfinde die Umsetzung des Scrollings zwar als nicht ganz so intuitiv wie beim üblichen "Touch-Handy" (da mir das "anstubsen" und automatische Weiterscrollen fehlt),
aber um bereits bestehende Programme "mal eben" auf Touch-Scrolling um zu rüsten ist es wirklich genial.

Thx und Gruß, PL.
[Dynamic-Dialogs] - komplexe dynamische GUIs einfach erstellen
[DeFlicker] - Fenster flimmerfrei resizen
[WinFX] - Window Effekte (inkl. 'durchklickbares' Window)
[DeFlicker] - Fenster flimmerfrei resizen
[WinFX] - Window Effekte (inkl. 'durchklickbares' Window)
- NicTheQuick
- Ein Admin
- Beiträge: 8807
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Re: scrollen wie iPad ...?
Jetzt konnte ich mir den Code von PureLust mal etwas genauer anschauen. Er funktioniert bei mir nicht, weil er nur für Windows gedacht ist...
@PureLust: Du solltest statt
lieber die fertigen #WM_-Konstanten nehmen. Dafür sind sie da. Außerdem merkt man dann unter Linux auch gleich, dass es nicht funkioniert, weil die Konstanten fehlen.
Ich finde deinen Code übrigens nicht schön. Da ist nichts gekapselt. Die Variablen fliegen überall einzeln herum. Die Touch-Logik ist verteilt in der Event-Schleife.
Ich frage mich wie man so einen Code besser verstehen kann als meinen. Vor allem, da meiner an den wichtigen Stellen kommentiert ist, leicht anpassbar ist und gleich beliebig viele solcher Touch-Bereiche unterstützt. Und wenn ich jetzt abgehoben klinge, dann kann ich auch nichts dafür. Ich weiß nämlich, dass ich Recht habe.
Außerdem wollte Then - soweit ich's gerade in Erinnerung habe - das ganze in einem Screen machen, womit hier wohl das Thema verfehlt wurde.

@PureLust: Du solltest statt
Code: Alles auswählen
#PB_Event_MouseMove = 512
#PB_Event_LMBDown = 513
#PB_Event_LMBUp = 514
Ich finde deinen Code übrigens nicht schön. Da ist nichts gekapselt. Die Variablen fliegen überall einzeln herum. Die Touch-Logik ist verteilt in der Event-Schleife.
Ich frage mich wie man so einen Code besser verstehen kann als meinen. Vor allem, da meiner an den wichtigen Stellen kommentiert ist, leicht anpassbar ist und gleich beliebig viele solcher Touch-Bereiche unterstützt. Und wenn ich jetzt abgehoben klinge, dann kann ich auch nichts dafür. Ich weiß nämlich, dass ich Recht habe.
Außerdem wollte Then - soweit ich's gerade in Erinnerung habe - das ganze in einem Screen machen, womit hier wohl das Thema verfehlt wurde.
Re: scrollen wie iPad ...?
@PureLust
Der Code an sich mag vielleicht etwas unsauber sein (siehe NicTheQuicks Kritik), aber das Resultat sieht einfach klasse aus und funktioniert - hier auf Windows XP - einwandfrei.
Edit:
Wobei ich NicTheQuick leider wirklich recht geben muss. Der Code ist sehr schwer zu lesen.
Der Code an sich mag vielleicht etwas unsauber sein (siehe NicTheQuicks Kritik), aber das Resultat sieht einfach klasse aus und funktioniert - hier auf Windows XP - einwandfrei.

Edit:
Wobei ich NicTheQuick leider wirklich recht geben muss. Der Code ist sehr schwer zu lesen.
"Menschenskinder, das Niveau dieses Forums singt schon wieder!" — GronkhLP ||| "ich hogffe ihr könnt den fehle endecken" — Marvin133 ||| "Ideoten gibts ..." — computerfreak ||| "Jup, danke. Gruss" — funkheld
- PureLust
- Beiträge: 1145
- Registriert: 21.07.2005 00:02
- Computerausstattung: Hab aktuell im Grunde nur noch 'nen Lenovo Yoga 2 Pro im Einsatz.
- Wohnort: am schönen Niederrhein
Re: scrollen wie iPad ...?
@c4s:
Mir ging es auch nicht darum hier einen gut dokumentierten Mustercode abzuliefern. Nicht umsonst hatte ich ja auch in meinem Post geschrieben: "... was Kleines zusammengestrickt." und weiter unten dann noch: "Bei Fragen : Einfach fragen.".
Mir ging's in erster Linie mal darum, zu sehen wie kompliziert so etwas überhaupt umzusetzen ist - das es dann am Ende doch so einfach war fand ich schon erfreulich.
Beim Prototyping (dessen Resultat der gepostete Code nun mal ist) reicht (zumindest für mich) meist die Aussagekraft der Variablennamen noch aus.
Auch stellt man in dieser Phase halt immer wieder fest, dass hier doch noch 'ne Variable fehlt und dort doch was besser auf eine andere Weise gelöst werden kann.
Somit lohnt sich eine aufwendige Dokumentation in dieser Phase (zumindest meiner Meinung nach) nicht wirklich - daher der für Dritte momentan recht schwer nachzuvollziehende Code. Wie gesagt - Prototyping halt.
Das meine (inzwischen als Include realisierte) Version von gestern Nachmittag da natürlich schon ganz anders aussieht kannst Du Dir ja vielleicht vorstellen.
@NTQ:
Nur stehen die benötigten Events (die Du ja weiter unten bemängelt hast) leider in PB nicht nativ zur Verfügung.
Da ich auf meinem neuen System jedoch noch keine Linux-VM drauf habe, konnte ich leider auch nicht testen wie die entsprechenden Events unter Linux lauten (falls diese von PB unter Linux überhaupt durchgereicht werden).
Aber genau deswegen hatte ich ja auch geschrieben: "Ach ja ... würde mich mal interessieren ob's auch auf Linux und/oder Macs läuft wie es sollte. Feedback wäre diesbezüglich also sehr willkommen."
Aber das hasst Du vermutlich überlesen.
Vermutlich genauso wie die unsprüngliche Frage von Then:
Sorry, aber wo steht ins Thens Anfrage was von "Screen"? Ein ListIconGadget lässt (zumindest für mich) eindeutig auf eine Anwendung mit Windows-GUI schließen.
Der Einzige der hier in diesem Thread jemals überhaupt etwas von "Screen" gesagt hat warst DU alleine.
Wie man von Thens Anfrage darauf schließen kann das er es in einem Screen realisieren will ist mir wirklich schleierhaft - aber egal.
Von daher erst mal überlegen wer hier das Thema verfehlt hat.
Du redest davon, dass Dein Code besser wäre als der meinige (wobei ich solche Klassifizierungen ohnehin als absurd ansehe), weil meiner nicht unter Linux laufen würde, er unschön und unstrukturiert wäre (wobei ich Dir - wie oben schon zu c4s gesagt - in diesem Punkt zustimme) und ich ohnehin das Thema verfehlt hätte.
Dass Du jedoch einen Code einstellst, der in der geposteten Form erst garnicht lauffähig ist (siehe RECT, siehe fehlendes Image, siehe fehlendes Eventhandlich für das geöffnete Fenster, usw.) - vom Ergebnis des Scrollens mal ganz abgesehen(welches - zumindest unter Windows) vollkommen buggy ist, scheinst Du bei all der Kritik übersehen zu haben.
Nichts gegen Dich - wirklich nicht - aber vielleicht erst mal fühlen wo die eigene Nase sitzt.
In diesem Sinne ... PL.
Danke. Das war ja auch der Hauptzweck des Ganzen.c4s hat geschrieben:... das Resultat sieht einfach klasse aus und funktioniert - hier auf Windows XP - einwandfrei.

Dem kann ich uneingeschränkt zustimmen.c4s hat geschrieben:Wobei ich NicTheQuick leider wirklich recht geben muss. Der Code ist sehr schwer zu lesen.
Mir ging es auch nicht darum hier einen gut dokumentierten Mustercode abzuliefern. Nicht umsonst hatte ich ja auch in meinem Post geschrieben: "... was Kleines zusammengestrickt." und weiter unten dann noch: "Bei Fragen : Einfach fragen.".

Mir ging's in erster Linie mal darum, zu sehen wie kompliziert so etwas überhaupt umzusetzen ist - das es dann am Ende doch so einfach war fand ich schon erfreulich.

Beim Prototyping (dessen Resultat der gepostete Code nun mal ist) reicht (zumindest für mich) meist die Aussagekraft der Variablennamen noch aus.
Auch stellt man in dieser Phase halt immer wieder fest, dass hier doch noch 'ne Variable fehlt und dort doch was besser auf eine andere Weise gelöst werden kann.
Somit lohnt sich eine aufwendige Dokumentation in dieser Phase (zumindest meiner Meinung nach) nicht wirklich - daher der für Dritte momentan recht schwer nachzuvollziehende Code. Wie gesagt - Prototyping halt.
Das meine (inzwischen als Include realisierte) Version von gestern Nachmittag da natürlich schon ganz anders aussieht kannst Du Dir ja vielleicht vorstellen.

@NTQ:
Keineswegs. Vom generellen Aufbau her müsste er genauso auch unter Linux und OS/X funktionieren.NicTheQuick hat geschrieben:Er funktioniert bei mir nicht, weil er nur für Windows gedacht ist...![]()
Nur stehen die benötigten Events (die Du ja weiter unten bemängelt hast) leider in PB nicht nativ zur Verfügung.
Da ich auf meinem neuen System jedoch noch keine Linux-VM drauf habe, konnte ich leider auch nicht testen wie die entsprechenden Events unter Linux lauten (falls diese von PB unter Linux überhaupt durchgereicht werden).

Aber genau deswegen hatte ich ja auch geschrieben: "Ach ja ... würde mich mal interessieren ob's auch auf Linux und/oder Macs läuft wie es sollte. Feedback wäre diesbezüglich also sehr willkommen."
Aber das hasst Du vermutlich überlesen.
Vermutlich genauso wie die unsprüngliche Frage von Then:
Zitat NTQ: "Außerdem wollte Then - soweit ich's gerade in Erinnerung habe - das ganze in einem Screen machen, womit hier wohl das Thema verfehlt wurde."Then hat geschrieben:... hätte jemand evtl. einen Ansatz für mich, wie man eine gefüllte Liste per Finger (Mausbewegung) scrollen kann wie das iPad, oder iPhone ?? Macht man da ein ListIconGadget und scrollt das oder besser als Image.. nur wie wählt man dann aus ??...
Sorry, aber wo steht ins Thens Anfrage was von "Screen"? Ein ListIconGadget lässt (zumindest für mich) eindeutig auf eine Anwendung mit Windows-GUI schließen.
Der Einzige der hier in diesem Thread jemals überhaupt etwas von "Screen" gesagt hat warst DU alleine.
Wie man von Thens Anfrage darauf schließen kann das er es in einem Screen realisieren will ist mir wirklich schleierhaft - aber egal.
Von daher erst mal überlegen wer hier das Thema verfehlt hat.

Du redest davon, dass Dein Code besser wäre als der meinige (wobei ich solche Klassifizierungen ohnehin als absurd ansehe), weil meiner nicht unter Linux laufen würde, er unschön und unstrukturiert wäre (wobei ich Dir - wie oben schon zu c4s gesagt - in diesem Punkt zustimme) und ich ohnehin das Thema verfehlt hätte.
Dass Du jedoch einen Code einstellst, der in der geposteten Form erst garnicht lauffähig ist (siehe RECT, siehe fehlendes Image, siehe fehlendes Eventhandlich für das geöffnete Fenster, usw.) - vom Ergebnis des Scrollens mal ganz abgesehen(welches - zumindest unter Windows) vollkommen buggy ist, scheinst Du bei all der Kritik übersehen zu haben.
Nichts gegen Dich - wirklich nicht - aber vielleicht erst mal fühlen wo die eigene Nase sitzt.

In diesem Sinne ... PL.
[Dynamic-Dialogs] - komplexe dynamische GUIs einfach erstellen
[DeFlicker] - Fenster flimmerfrei resizen
[WinFX] - Window Effekte (inkl. 'durchklickbares' Window)
[DeFlicker] - Fenster flimmerfrei resizen
[WinFX] - Window Effekte (inkl. 'durchklickbares' Window)
Re: scrollen wie iPad ...?
Sehr interessantes Thema hier und auch sehr viel Diskusion. Jetzt bin ich sogar gespannt, was dabei raus kommt.
@PureLust : Stellst Du uns Deine Include zur Verfügung ??
@PureLust : Stellst Du uns Deine Include zur Verfügung ??

- NicTheQuick
- Ein Admin
- Beiträge: 8807
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Re: scrollen wie iPad ...?
Ja, genau das ist das Problem. Diese Events werden unter Linux nicht durchgereicht.PureLust hat geschrieben:@NTQ:Keineswegs. Vom generellen Aufbau her müsste er genauso auch unter Linux und OS/X funktionieren.NicTheQuick hat geschrieben:Er funktioniert bei mir nicht, weil er nur für Windows gedacht ist...![]()
Nur stehen die benötigten Events (die Du ja weiter unten bemängelt hast) leider in PB nicht nativ zur Verfügung.
Da ich auf meinem neuen System jedoch noch keine Linux-VM drauf habe, konnte ich leider auch nicht testen wie die entsprechenden Events unter Linux lauten (falls diese von PB unter Linux überhaupt durchgereicht werden).
Aber genau deswegen hatte ich ja auch geschrieben: "Ach ja ... würde mich mal interessieren ob's auch auf Linux und/oder Macs läuft wie es sollte. Feedback wäre diesbezüglich also sehr willkommen."
Man kann zwar Klicks auf ein ImageGadget abfangen, aber keine MouseMove-Events.
Das hatte ich nicht überlesen. Ich hatte deinen Code nämlich einmal schnell getestet und ganz kurz geschrieben, dass er bei mir nicht geht. (18.5.2010 1:33).Aber das hasst Du vermutlich überlesen.
Da muss ich dir fast komplett Recht geben. Ich hatte meine Aussage auch nicht mehr kontrolliert. Zu dem Screen ist es gekommen, weil Then in seinem ersten Code damit angefangen hat.Sorry, aber wo steht ins Thens Anfrage was von "Screen"? Ein ListIconGadget lässt (zumindest für mich) eindeutig auf eine Anwendung mit Windows-GUI schließen.
Der Einzige der hier in diesem Thread jemals überhaupt etwas von "Screen" gesagt hat warst DU alleine.
Wie man von Thens Anfrage darauf schließen kann das er es in einem Screen realisieren will ist mir wirklich schleierhaft - aber egal.
Von daher erst mal überlegen wer hier das Thema verfehlt hat.

Das ist das selbe, nur andersrum. Ich habe nicht an das schon vorhandene Rect unter Windows gedacht und du nicht an die fehlenden Konstanten unter Linux, wobei du aber wirklich nicht wusstest, dass es die hier nicht gibt. Zum anderen verstehe ich nicht, wieso das Scrollen unter Windows nicht funktioniert und buggy sein soll. Ich muss unbedingt mal schauen, ob ich das irgendwo selbst testen kann. Denn unter Linux läuft das 1a flüssig und wie gewollt.Dass Du jedoch einen Code einstellst, der in der geposteten Form erst garnicht lauffähig ist (siehe RECT, siehe fehlendes Image, siehe fehlendes Eventhandlich für das geöffnete Fenster, usw.) - vom Ergebnis des Scrollens mal ganz abgesehen(welches - zumindest unter Windows) vollkommen buggy ist, scheinst Du bei all der Kritik übersehen zu haben.
Ja, ich weiß, dass ich in meinem Post einen etwas gereizten Unterton hatte, der kam aber auch deswegen zu Stande, weil ich keinerlei konstruktive Kritik zu meinem Code bekommen habe. Jeder sagte nur "geht nicht", "is buggy". Was bringt mir das? Gar nichts!Nichts gegen Dich - wirklich nicht - aber vielleicht erst mal fühlen wo die eigene Nase sitzt.![]()
Dann schreibst du einen Code und alle sind glücklich, weil sie ihn anscheinend direkt verstehen und er super funktioniert. Ich schau mir den Code an und denke nur "direkt verstehen??". Da kam ich mir ein bisschen verarscht vor, weil ich immer noch nicht verstanden habe, wie man deinen Code besser verstehen kann als meinen... Aber egal.
Ja, Moment noch. Nicht gleich abhauen!In diesem Sinne ... PL.

Ich wieß ja nicht, in wie fern du deinen Code schon wieder geändert hast, aber ich würde dir auch eine Kapselung entweder in eine Structure oder ein Interface empfehlen, damit man später auch mehrere solcher scrollbaren Listen in seinem Programm haben kann. Ich bin ja eh ein OOP-(unter PB eben Interface)-Freund.
Jetzt darfst du.
Jep, bis dann, Kollege!In diesem Sinne ... PL.
Re: scrollen wie iPad ...?
... nun fassen wir uns alle an den Händen und haben uns alle lieb
*Friedenspfeifeanzünd*
Und lasst uns eine neue schöne Funktion für PB als Include/Funktion etc basteln.



*Friedenspfeifeanzünd*
Und lasst uns eine neue schöne Funktion für PB als Include/Funktion etc basteln.
