AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Shortcuts bremsen Virtualtree aus

Ein Thema von freimatz · begonnen am 22. Jan 2022 · letzter Beitrag vom 28. Jan 2022
Antwort Antwort
freimatz

Registriert seit: 20. Mai 2010
1.384 Beiträge
 
Delphi 11 Alexandria
 
#1

Shortcuts bremsen Virtualtree aus

  Alt 22. Jan 2022, 10:54
Hallo zuzsammen,
cih habe eine VCL-App mit sehr vielen (1000) Controls im Hauptfenster. (Etliche sind in dockbaren Bereichen und werden auch erst zur Laufzeit eingehängt.)

Eines der Controls ist ein TVirtualStringTree. Da gibt es einen Baum darin mit diversen Einträgen. Damit habe ich etliche ähnliche Probleme.
1. Über eine Funktion kann man bestimmte Einträge auch editieren. Das klappt soweit bis man versuche die Taste Entf zuu drücken. Dann wird nicht ein Zeichen gelöscht sondern nachgefragt ob der Eintrag gelöscht werden soll. Das liegt daran, dass es da eine Action gibt die den Shortcut Entf hat. Und diese Action reagiert nun darauf. Als Hack habe ich nun mal eingebaut, dass im OnEditing die Action disabled wird und im OnEdited wieder enabled. Das funktioniert, finde ich aber nicht schön.
2. Ähnlich ist der Fall bei F2. Da würde ich erwarten, dass man in den Editiermodus gelangt. Da reagiert jedoch eine Action ganz woanders darauf. Die kann ich nicht so einfach disablen.
3. Wenn ich zweimal mit der Maus auf einen Eintrag klicke würde ich auch erwarten in den Editiermodus zu kommen. Das geht gar nicht. Wieso?

Wie baut man denn sowas sauber auf?

Geändert von freimatz (22. Jan 2022 um 13:33 Uhr)
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
672 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Shortcuts bremsen Virtualtree aus

  Alt 23. Jan 2022, 10:12
Actions haben einen OnUpdate-Event. Dort kann man die Action disablen wenn das ActiveControl eines ist, das die Shortcuts selbst braucht.
Peter Below
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi
Online

Registriert seit: 17. Jul 2005
847 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Shortcuts bremsen Virtualtree aus

  Alt 23. Jan 2022, 12:11
3. Wenn ich zweimal mit der Maus auf einen Eintrag klicke würde ich auch erwarten in den Editiermodus zu kommen. Das geht gar nicht. Wieso?
Sind bei den MiscOptions toEditable und toEditOnClick angewählt?
The angels have the phone box.
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.384 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Shortcuts bremsen Virtualtree aus

  Alt 24. Jan 2022, 09:49
@Gausi: toEditable ja, toEditOnClick nein. Danke funktioniert wenn alle an sind.

@Peter:
Wie kann das gehen? Bei meinem Fall 1 ist das noch ok, aber bei Fall 2 - da kennt diese Action den Tree gar nicht (und umgekehrt). Gibt es da keine generelle Lösung? Ich meine bei konkurrierenden Shortcuts sollte das zum Zuge kommen das näher am Focus ist.

Geändert von freimatz (24. Jan 2022 um 14:56 Uhr)
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
672 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Shortcuts bremsen Virtualtree aus

  Alt 24. Jan 2022, 11:40

@Peter:
Wie kann das gehen? Bei meinem Fall 1 ist das noch ok, aber bei Fall 2 - da kennt diese Action den Tree gar nicht (und umgekehrt). Gibt es da keine generelle Lösung? Ich meike bei konkurrierenden Shortcuts sollte das zum Zuge kommen das näher am Focus ist.
Woher soll die Action wissen, dass das ActiveControl den Shortcut selbst verwendet? Es gibt da nur eine mehr generelle Methode (die WM_GETDLGCODE-Message), die aber für dein Problem eventuell nicht spezifisch genug ist.

Eventuell kann Dir dieser alte Artikel noch ein paar Ideen liefern: A Key's Odyssey
Peter Below
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.384 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Shortcuts bremsen Virtualtree aus

  Alt 28. Jan 2022, 14:11
Danke für Deine Meldung.
Die Antwort auf meine Frage "Gibt es da keine generelle Lösung?" lautet dann wohl: Nein.
Dann schau ich also selber was ich machen kann.

Der Artikel kommt mir bekannt vor. Ist aber sicher einige Jahre her dass ich den mal gelesen hatte. Werde den mir mal wieder reinziehen. Danke.
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
672 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Shortcuts bremsen Virtualtree aus

  Alt 28. Jan 2022, 18:11
Die Demo-Anwendung zum Artikel (+ selbiger als doc oder PDF) ist mittlerweile auf GitHub: https://github.com/PeterBelow/KeyTrace
Peter Below
  Mit Zitat antworten Zitat
Antwort Antwort


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 12:22 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