AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Tastenkombination über VK_xxxxx abfragen
Thema durchsuchen
Ansicht
Themen-Optionen

Tastenkombination über VK_xxxxx abfragen

Ein Thema von RWarnecke · begonnen am 2. Apr 2009 · letzter Beitrag vom 29. Apr 2009
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#11

Re: Tastenkombination über VK_xxxxx abfragen

  Alt 18. Apr 2009, 13:00
Zitat von taaktaak:
Moin Rolf,
alternativ auf den integrierten inplace-editor verzichten und ein eigenes Editierfenster verwenden - wenn gewünscht, kannst du es ja von allem 'drumherum befreien, dass es in der Optik dem inplace-editor entspricht.
Moin Ralph,
dann muss ich das Editierfenster ja selber zeichnen. So wie es mleyen in seinem letzten Beitrag geschrieben hat, funktioniert es schon mal. Jetzt muss ich nur noch ausschneiden und kopieren einfügen. Ich bin nur gerade an einem anderen Fall dran, deshalb habe ich es noch nicht weiter ausprobiert.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#12

Re: Tastenkombination über VK_xxxxx abfragen

  Alt 27. Apr 2009, 18:00
Zitat von mleyen:
Ich hoffe das hilft jetzt.
Noch nicht hundertprozentig. In meinem Testprogramm funktioniert das ganze wunderbar. Nur wenn ich es auf das Programm CodeOrakel übernehmen will, komme ich nicht in die IF-Abfrage GetKeyState(VK_CONTROL), obwohl ich die STRG-Taste gedrückt halte. Kann es sein, dass ich da ein Problem mit den Messages habe ?

Edit : Was wären typische Merkmale dafür, dass ich mir irgendwo die Messages blockiere ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#13

Re: Tastenkombination über VK_xxxxx abfragen

  Alt 27. Apr 2009, 18:27
Muss das Editieren wirklich so restriktiv abgesichert sein?
Folgende Situation:
Benutzer editiert Knotennamen (name ist noch leer) und entscheidet sich spontan zuerst einen anderen Knoten nochmal zu ändern.
Er kommt jetzt aber aus dem Editor nicht raus.
Es kann auch nicht mal kurz auf einen anderen Knoten springen, den Namen kopieren, auf den namenlosen Knoten springen, Namen einfügen und dann abändern.
Ich würde erst dann, wenn das Treeview gespeichert oder sonstwas damit passiert prüfen.
Alle Knoten durchgehen, falls Knotenname nicht den Regeln entspricht den Focus darauf setzen und dem Benutzer eine Mitteilung anzeigen.

Diese Vorgehensweise hat auch den Vorteil, dass die Logik zum Prüfen des Treeviews kompakt und zentral an einer Stelle sitzt.
Bei deinem Ansatz ist die Logik verteilt und greift ausserdem relativ unangenehm in das Messageverhalten von Windows ein.
Ausserdem werden Daten, die per Copy & Paste eingefügt werden nicht geprüft (falls ich mich nicht irre).
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#14

Re: Tastenkombination über VK_xxxxx abfragen

  Alt 27. Apr 2009, 18:46
Zitat von shmia:
Muss das Editieren wirklich so restriktiv abgesichert sein?
Ich hatte diese Procedure OnAppMsg erst garnicht drin. Sie ist erst dazugekommen, wie ich darauf aufmerksam gemacht wurde, dass die Knoten mit der Standardvorgabe nicht in der Datenbank von Code-Orakel abgespeichert wurden. Darauf hin habe ich diese Procedure entwickelt (mit Hilfe von euch ) um beim betätigen der Enter-Taste abzuprüfen, ob noch die Standardvorgabe der Knotenname ist oder nicht und dementsprechend eine Message auszugeben. Mittlerweile merke ich, dass das nicht so eine gute Idee war.

Zitat von shmia:
Folgende Situation:
Benutzer editiert Knotennamen (name ist noch leer) und entscheidet sich spontan zuerst einen anderen Knoten nochmal zu ändern.
Er kommt jetzt aber aus dem Editor nicht raus.
Er kommt mit der Escape-Taste aus dem Knoten und der Ursprung wird wiederhergestellt.

Zitat von shmia:
Es kann auch nicht mal kurz auf einen anderen Knoten springen, den Namen kopieren, auf den namenlosen Knoten springen, Namen einfügen und dann abändern.
Ich würde erst dann, wenn das Treeview gespeichert oder sonstwas damit passiert prüfen.
Alle Knoten durchgehen, falls Knotenname nicht den Regeln entspricht den Focus darauf setzen und dem Benutzer eine Mitteilung anzeigen.

Diese Vorgehensweise hat auch den Vorteil, dass die Logik zum Prüfen des Treeviews kompakt und zentral an einer Stelle sitzt.
Bei deinem Ansatz ist die Logik verteilt und greift ausserdem relativ unangenehm in das Messageverhalten von Windows ein.
Ausserdem werden Daten, die per Copy & Paste eingefügt werden nicht geprüft (falls ich mich nicht irre).
Da besteht bei mir jetzt das Problem, wie kann ich es anders lösen ? Ich schreibe die Daten des TreeViews direkt in die Datenbank mit dem Ereignis OnEdited vom TTreeView.

Edit: Nach jetzt weiteren Tests, habe ich festgestellt, dass wohl irgendeine Einstellung an der Komponente oder an einer anderen Komponente das hervor ruft, das ich kein Copy&Paste machen kann. Wenn jemand weiß, woran es liegt sage doch bitte Bescheid. Ich komme nämlich echt nicht mehr weiter.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#15

Re: Tastenkombination über VK_xxxxx abfragen

  Alt 29. Apr 2009, 16:04
Ich habe jetzt nochmal einiges getestet und ausprobiert. Ich habe jetzt mal alle Funktionen/Proceduren aus meinem Programm komplett entfernt, die mit Messages gearbeitet haben. Das einzigste was ich noch drin habe, ist die Drag&Drop Funktion im TreeView.

Folgende Situation habe ich. Ich habe einen TreeView auf einer Seite von einem PageControl mit alClient sitzen. Wenn ich jetzt einen Knoten editiere oder neu erstelle, kann ich nicht mit der Tastenkombination STRG+V Text aus der Zwischenablage einfügen. Benutze ich die Maus mit der rechten Maustaste, kann ich den Text einfügen. Wenn ich einen Knoten zu editieren aufrufe, mache ich das über den Befehl TV_Category.Selected.EditText. Ein neuer Knoten wird ganz einfach über AddChild erstellt.

So nun zu meiner Frage, womit und wie habe ich es abgefangen, dass die Tastenkombinationen STRG+X, STRG+C, STRG+V nicht an meinen TreeView in den Editiermodus eines Knotens weitergeleitet werden ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 07:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz