Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Gibt’s einen IOTA-Notifier mit quasi OnSelectionChange-Handler? (https://www.delphipraxis.net/207914-gibt%92s-einen-iota-notifier-mit-quasi-onselectionchange-handler.html)

r29d43 15. Mai 2021 15:21

Gibt’s einen IOTA-Notifier mit quasi OnSelectionChange-Handler?
 
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.

r29d43 15. Mai 2021 18:25

AW: Gibt’s einen IOTA-Notifier mit quasi OnSelectionChange-Handler?
 
Ok, danke für die werte Aufmerksamkeit, ich habe jetzt eine andere Lösung gefunden.

Da ich ja, wie schon angedeutet, die WindowProc des IDE-Editors überschrieben habe, habe ich dort einen solchen MausKlick (mit gleichzeitig gedrückter Ctrl-Taste und Shift-Taste) nun einfach in einen für den IDE-Editor normalen MausKlick umgewandelt (indem ich die MK_CONTROL- u. MK_SHIFT-Werte im WParameter der LButtonDown- und LButtonUp-WindowMessages jeweils gelöscht habe). Danach taucht im IDE-Editor natürlich keine solche Text-Selektion mehr auf, ...so dass einer ungestörten Ausführung meines Kommandos jetzt nichts mehr im Wege steht.


Edit: Wenn trotzdem aber jemand so einen IOTA-Notifier kennt, über den man solche Text-Selektierungen im IDE-Editor manipulieren kann, dann bitte die Lösung auch jetzt noch anhängen. Braucht man eh irgendwann mal. Zumal die Threadüberschrift das auch erwarten lässt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:24 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