Einzelnen Beitrag anzeigen

r29d43

Registriert seit: 18. Jan 2007
289 Beiträge
 
Delphi 10.4 Sydney
 
#1

Gibt’s einen IOTA-Notifier mit quasi OnSelectionChange-Handler?

  Alt 15. Mai 2021, 16:21
Hallo,

in meinem IOTA -Package möchte ich einen Befehl per normalem MausKlick und gleichzeitig gedrücktem Ctrl-Key & Shift-Key auslösen. Leider aber kommt mir da der Umstand in die Quere, dass dadurch in der Delphi-IDE auch gleichzeitig noch eine TextSelection mit ausgelöst wird (und zwar zwischen der alten Caret-Position und der neuen Position des Mausklicks). Eine TextSelektion, die es in einer normalen Textverarbeitung unter diesen Bedingungen nicht gibt. So eine TextSelektion wird in einer normalen TextVerarbeitung (z.B. OpenOffice) per normalen Mausklick und nur gedrückter Shift-Taste ausgelöst. Ist in einer normalen TextVerarbeitung gleichzeitig auch noch die Ctrl-Taste mit gedrückt passiert z.B. im OpenOffice diesbezüglich garnichts (unterbleibt also eine Text-Selektierung).

Die Delphi-IDE ignoriert jetzt aber leider diesen kleinen Unterschied, ob die Ctrl-Taste gleichzeitig mit gedrückt ist oder nicht, und erzeugt immer so eine TextSelektierung mit. Das möchte ich gerne unterbinden und die TextSelektierung auf die Funktionsweise einer normalen TextVerarbeitung umbiegen, um dass ich dann einen Mausklick mit gleichzeitig gedrückter Ctrl-Taste und Shift-Taste selbst als Befehl nutzen kann.

Nötig dafür wäre also sowas wie ein IOTA-Notifier mit einer Handler-Proc, die immer dann durchlaufen wird, wenn eine TextSelektion gemacht o. geändert werden soll. Quasi sowas wie einen OnSelectionChange-Handler eines TRichEdit-Controls. Gibt es einen IOTA-Notifier mit sowas?

Gibt es einen IOTA-Notifier, über den man generell die Selektierung von Text zumindest etwas kontrollieren kann?

Thx im Voraus
...


P.S. Es würde auch schon helfen, wenn man irgendwie an die Variablen drankäme, in denen die alte Caret-Position gespeichert ist. Weil man die in so einer MausKlick-Situation in der Window-Proc des Editors (ist ja ein TWinControl) dann mit der neuen MausKlick-Position laden könnte und damit dieses Problem auch los wäre.

Geändert von r29d43 (15. Mai 2021 um 16:23 Uhr)
  Mit Zitat antworten Zitat