Вниз
Скачать: CL | DM;

Событие, когда в буфере есть текст   Найти похожие ветки 

← →
Дмитрий_177   (2006-02-06 19:11) [0]

Вопрос может бытьбанальным, но всеже я не знаю как его решить. В MainMenu в подменю "Edit" как у всех блокнотов есть пункт "Paste". Так вот как мне отлавливать когда его делать доступным(Enabled:=true) когда в буфере есть текст и когда нету текста недоступным(Enabled:=false)?


← →
begin...end ©   (2006-02-06 19:36) [1]

Если нужно в определённый момент проверять, есть ли данные нужного формата в буфере, используйте IsClipboardFormatAvailable. Если же нужно именно отлавливать изменение содержимого буфера, используйте SetClipboardViewer + WM_DRAWCLIPBOARD. Описание всего этого см. в MSDN.


← →
Дмитрий_177   (2006-02-06 20:29) [2]

Спасибо, буду разбираться... А еще вопросик, немного не в тему но из той же оперы... Как отлавливать событие на то что текст был выделен и не выделен в Memo? это чтобы "Cut" и "Copy" чтобы тоже делать доступным и недоступным... И если можно про Undo с Redo также...


← →
begin...end ©   (2006-02-06 20:51) [3]

> Дмитрий_177   (06.02.06 20:29) [2]

> Как отлавливать событие на то что текст был выделен и не
> выделен в Memo?

Насчёт Memo -- не в курсе. А вот у RichEdit с этим просто: он не скупится на информирование родительского окна и посылает ему уведомление EN_SELCHANGE. В Delphi при этом вызывается обработчик TRichEdit.OnSelectionChange.


← →
Babay ©   (2006-02-07 07:58) [4]

в МЕМО есть свойство SelLength в котором содержится кол-во выделенных символов, если SelLength=0 значит выделения нет.
Проверяй и поступай соответственно.

P/S еще есть SelText содержит выделенный текст


← →
ЮЮ ©   (2006-02-07 08:21) [5]

А ещё TActionList, у которого есть стандартные Action-ы. Достаточно будет у TMenuItem указать их в качестве Action - и все будет работать безо всяких усилий с твоей стороны


← →
Gero ©   (2006-02-07 12:13) [6]

> Как отлавливать событие на то что текст был выделен и не
> выделен в Memo? это чтобы "Cut" и "Copy" чтобы тоже делать
> доступным и недоступным... И если можно про Undo с Redo
> также...

Используй TActionList.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.026 c
8-1128180544
alsov
2005-10-01 19:29
2006.03.12
Как программно сделать mute


6-1132861630
Николай2005
2005-11-24 22:47
2006.03.12
Ошибка 411 при отправке запроса через TIdHTTP методом POST


15-1140415377
Ega23
2006-02-20 09:02
2006.03.12
С Днём рождения! 20 февраля


15-1140018843
XeON
2006-02-15 18:54
2006.03.12
Лицензия Delphi 6 personal


2-1140539927
Незнаище
2006-02-21 19:38
2006.03.12
Локальный компьютер




   Наверх