![]() |
Touchscreenfähiges TListView
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
Delphi-Quellcode:
eine STRG-Taste simuliert. Dann macht das TListView das Multiselect ja von alleine.
keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, 0), 0, 0);
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 |
Re: Touchscreenfähiges TListView
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 |
Re: Touchscreenfähiges TListView
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...
|
Re: Touchscreenfähiges TListView
Zitat:
|
Re: Touchscreenfähiges TListView
Zitat:
|
Re: Touchscreenfähiges TListView
Zitat:
|
Re: Touchscreenfähiges TListView
Zitat:
|
Re: Touchscreenfähiges TListView
Zitat:
|
Re: Touchscreenfähiges TListView
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 |
Re: Touchscreenfähiges TListView
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:50 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz