Seite 3 von 6

Re: scrollen wie iPad ...?

Verfasst: 18.05.2010 01:33
von NicTheQuick
Bei mir geht der Code von PureLust nicht.

Re: scrollen wie iPad ...?

Verfasst: 18.05.2010 08:19
von dige
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.

Re: scrollen wie iPad ...?

Verfasst: 18.05.2010 09:39
von Kiffi
@dige: Danke für den MouseImp-Tipp!

Grüße ... Kiffi

Re: scrollen wie iPad ...?

Verfasst: 18.05.2010 11:03
von PureLust
@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. :allright:

Thx und Gruß, PL.

Re: scrollen wie iPad ...?

Verfasst: 18.05.2010 15:13
von NicTheQuick
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

Code: Alles auswählen

#PB_Event_MouseMove   = 512
#PB_Event_LMBDown      = 513
#PB_Event_LMBUp      = 514
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.

Re: scrollen wie iPad ...?

Verfasst: 18.05.2010 22:10
von c4s
@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. :allright:

Edit:
Wobei ich NicTheQuick leider wirklich recht geben muss. Der Code ist sehr schwer zu lesen.

Re: scrollen wie iPad ...?

Verfasst: 19.05.2010 08:25
von PureLust
@c4s:
c4s hat geschrieben:... das Resultat sieht einfach klasse aus und funktioniert - hier auf Windows XP - einwandfrei. :allright:
Danke. Das war ja auch der Hauptzweck des Ganzen. :D
c4s hat geschrieben:Wobei ich NicTheQuick leider wirklich recht geben muss. Der Code ist sehr schwer zu lesen.
Dem kann ich uneingeschränkt zustimmen.
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. :D
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:
NicTheQuick hat geschrieben:Er funktioniert bei mir nicht, weil er nur für Windows gedacht ist... /:->
Keineswegs. Vom generellen Aufbau her müsste er genauso auch unter Linux und OS/X funktionieren.
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). :roll:
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:
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 ??...
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."
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. :wink:

In diesem Sinne ... PL.

Re: scrollen wie iPad ...?

Verfasst: 19.05.2010 13:45
von Mauli
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 ?? :o

Re: scrollen wie iPad ...?

Verfasst: 19.05.2010 13:48
von NicTheQuick
PureLust hat geschrieben:@NTQ:
NicTheQuick hat geschrieben:Er funktioniert bei mir nicht, weil er nur für Windows gedacht ist... /:->
Keineswegs. Vom generellen Aufbau her müsste er genauso auch unter Linux und OS/X funktionieren.
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). :roll:
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."
Ja, genau das ist das Problem. Diese Events werden unter Linux nicht durchgereicht.
Man kann zwar Klicks auf ein ImageGadget abfangen, aber keine MouseMove-Events.
Aber das hasst Du vermutlich überlesen.
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).
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. ;)
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. :wink:
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.
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.
Nichts gegen Dich - wirklich nicht - aber vielleicht erst mal fühlen wo die eigene Nase sitzt. :wink:
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!
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.
In diesem Sinne ... PL.
Ja, Moment noch. Nicht gleich abhauen! :mrgreen:

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.
In diesem Sinne ... PL.
Jep, bis dann, Kollege!

Re: scrollen wie iPad ...?

Verfasst: 19.05.2010 15:07
von Mauli
... nun fassen wir uns alle an den Händen und haben uns alle lieb :mrgreen: :mrgreen: :mrgreen:

*Friedenspfeifeanzünd*

Und lasst uns eine neue schöne Funktion für PB als Include/Funktion etc basteln. :allright: