AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Touchscreenfähiges TListView

Ein Thema von easywk · begonnen am 23. Apr 2009 · letzter Beitrag vom 24. Apr 2009
Antwort Antwort
Seite 1 von 2  1 2   
easywk

Registriert seit: 9. Jul 2003
Ort: Schwanewede
117 Beiträge
 
Delphi 7 Enterprise
 
#1

Touchscreenfähiges TListView

  Alt 23. Apr 2009, 19:20
Guten Abend zusammen,

ich muss eine Anwendung so gestalten, dass Sie auch touchscreenfähig ist. Trotzdem möchte ich den Anwendern die Möglichkeit geben, in einer TListView mehrere Einträge zu selektieren. Prinzipiell kann man das in meinen Augen am besten so gestalten, dass man mit keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, 0), 0, 0); eine STRG-Taste simuliert. Dann macht das TListView das Multiselect ja von alleine.

Mein Problem: ich kann nicht die ganz Zeit die STRG-Taste simulieren (sprich, ich muss die Taste ja auch mal wieder loslassen) und wenn ich das MouseDown-Event bekomme, ist es zu spät. Hat jemand eine Idee, wie ich geschickt das Drücken und Loslassen der STRG-Taste simuliere?

Ein Touch simuliert eine Maus, nur bekommt man in der Regel keine MausMove-Events, weil der Mauszeiger ja nicht bewegt wird

Da mir weder die Suche hier noch bei google wirklich geholfen haben und ich mich mit dem Problem jetzt schon ziemlich lange rumschlage, bin ich für jede Idee dankbar ...

Gruß
easywk
Björn
if all else fails - read the instructions
  Mit Zitat antworten Zitat
uwewo

Registriert seit: 14. Jul 2004
Ort: Karlsruhe
479 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Touchscreenfähiges TListView

  Alt 23. Apr 2009, 19:47
Hi easywk,

wenn ich das richtig verstehe, willst Du doch nur manchmal mehrere Zeilen im Listview selektieren.
Dazu könntest Du ja ein Button auf dem Schirm ausgeben der die Ctrl Taste darstellt
Zustand gedrückt oder nicht, und dann die richtige Ctrl Taste simulieren.
Oder verstehe ich was falsch?

Uwe
Uwe
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.378 Beiträge
 
#3

Re: Touchscreenfähiges TListView

  Alt 23. Apr 2009, 19:50
Und wenn du einfach einen Doppelklick nutzt? Also, zweimal mit dem Finger auf einen Eintrag drücken, beim zweiten Mal Finger drauf lassen, dann runter ziehen, und loslassen. Und schon sind alle selektiert...
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
easywk

Registriert seit: 9. Jul 2003
Ort: Schwanewede
117 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Touchscreenfähiges TListView

  Alt 23. Apr 2009, 20:01
Zitat von uwewo:
Dazu könntest Du ja ein Button auf dem Schirm ausgeben der die Ctrl Taste darstell
Ja, so ähnlich wollte ich es machen und zwar mit einem TSpeedButton (weil der die eigenschaft down hat, Zwei-Finger-Bedienung ist auf einem Touch nämlich nicht wirklich bedienerfreundlich). Ich wollte nur nicht beim Down des Speedbuttons die Taste posten, denn wenn der Anwender dann irgendwas anderes macht, ohne die Taste wieder zu deaktivieren, ist STRG die ganze Zeit gedrückt.
Björn
if all else fails - read the instructions
  Mit Zitat antworten Zitat
easywk

Registriert seit: 9. Jul 2003
Ort: Schwanewede
117 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Touchscreenfähiges TListView

  Alt 23. Apr 2009, 20:03
Zitat von Daniel G:
Und wenn du einfach einen Doppelklick nutzt?
Doppelklick ist belegt und außerdem ist es schwierig, auf einem Touch mit dem Finger lückenlos zu ziehen. Ist ja keine "saubere Umgebung" sondern eine Maschinenhalle. Da habe die Leute unter Umständen Handschuhe an ohne ölige Finger. Trotzdem danke für die Idee.
Björn
if all else fails - read the instructions
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.378 Beiträge
 
#6

Re: Touchscreenfähiges TListView

  Alt 23. Apr 2009, 20:06
Zitat von easywk:
Doppelklick ist belegt und außerdem ist es schwierig, auf einem Touch mit dem Finger lückenlos zu ziehen. Ist ja keine "saubere Umgebung" sondern eine Maschinenhalle. Da habe die Leute unter Umständen Handschuhe an ohne ölige Finger. Trotzdem danke für die Idee.
Jo, so'ne Umgebungen kenne ich. Aber die Frage ist dann, ob so eine "zierliche" ListView überhaupt für solche "Maschinenbauer-Pranken" bei einer Touch-Umgebung geeignet ist. Gibt es keine ander Darstellungsmöglichkeit?
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
easywk

Registriert seit: 9. Jul 2003
Ort: Schwanewede
117 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Touchscreenfähiges TListView

  Alt 23. Apr 2009, 20:19
Zitat von Daniel G:
so eine "zierliche" ListView
Wieso zierlich? Font auf 24 gesetzt und schon hast du schöne große Einträge beim Style vsReport. Wenn du mit Icons/Bildern arbeitest, musst du halt entsprechend große Bilder wählen. Geht prima.
Björn
if all else fails - read the instructions
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.378 Beiträge
 
#8

Re: Touchscreenfähiges TListView

  Alt 23. Apr 2009, 20:36
Zitat von easywk:
Zitat von Daniel G:
so eine "zierliche" ListView
Wieso zierlich? Font auf 24 gesetzt und schon hast du schöne große Einträge beim Style vsReport. Wenn du mit Icons/Bildern arbeitest, musst du halt entsprechend große Bilder wählen. Geht prima.
Aber dann sollte das mit dem selektieren doch auch kein Problem sein, oder? Und wenn du ne Verzögerung von einigen Millisekunden einbaust, dass er nicht sofort die Strg-Taste "loslöst". So könntest du auch kleiner "Unebenheiten" ausgleichen.
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
easywk

Registriert seit: 9. Jul 2003
Ort: Schwanewede
117 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Touchscreenfähiges TListView

  Alt 23. Apr 2009, 20:59
Manchmal ist es einfacher als man denkt. Habe die Lösung gefunden.

Man bekommt auch auf dem Touch ein MouseMove-Event, wenn der Maus-Cursor vor dem Press ausserhalb des TListView steht. Und da mich auf dem Touch die Position des Maus-Cursors nicht wirklich interessiert, kann ich die Maus nach ButtonUp einfach ausserhalb des TListView platzieren. Dann kann ich STRG-Taste bei MouseMove des TListView "drücken" und bei MouseUp "loslassen". Da beide Events direkt hinter einander kommen, kann es auch nicht mehr passieren, dass STRG gedrückt ist und andere Elemente (z.B. eine Eingabebox) mit gedrücktem STRG bedient werden ...

cu
easywk
Björn
if all else fails - read the instructions
  Mit Zitat antworten Zitat
easywk

Registriert seit: 9. Jul 2003
Ort: Schwanewede
117 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Touchscreenfähiges TListView

  Alt 23. Apr 2009, 21:02
Zitat von Daniel G:
Und wenn du ne Verzögerung von einigen Millisekunden einbaust, dass er nicht sofort die Strg-Taste "loslöst". So könntest du auch kleiner "Unebenheiten" ausgleichen.
Das "Ziehen" markiert dann aber ja nur untereinander liegende Einträge. Ich möchte aber eventuell den 3. 7. und 10. Eintrag markieren ...
Björn
if all else fails - read the instructions
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf