On 22/12/2012 17:04, Mark Morgan Lloyd wrote:
Martin wrote:
On 21/12/2012 19:54, Mark Morgan Lloyd wrote:
I'm in the middle of adding a shared clipboard to a text editor based on (Lazarus's) SynEdit. This is a simple stopgap based on a backend database, but also allows me to exercise PostgreSQL's listen/notify and hopefully also the Firebird equivalent both of which I want for something else.

What I've got works fine if I use a menu entry to do copy or cut, but is there a simple way to hook SynEdit's reaction to ^C and ^X so that I can transfer stuff to the backend automatically?

OnProcessCommand

this is during keyboard processing too.

SynEdit will have translated it int ecCopy


(if not that then OnProcessUserCommand commands are splitted into build in and user. ecCopy ecCut ecPaste should be build in)

The above only works if lynedit handles the keyboard.

If you call SynEdit.CopyToClipboard (TAction might do that?) then the above does not trigger



use

property OnCutCopy: TSynCopyPasteEvent read FOnCutCopy write FOnCutCopy;
    property OnPaste: TSynCopyPasteEvent read FOnPaste write FOnPaste;

Thanks Martin, noted. As an interim measure I ended up detecting ^C etc. in the key-up event, which /might/ be safer since I'm already filtering keys to implement an APL-style keyboard and /might/ be the only way to handle
IIRC SynEdit handles ctrl-c in keydown

You can prevent SynEdit from handling the keystroke, by removing it from SynEdit,KeyStrokes (or similar)

--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to