Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.03.12;
Скачать: 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 вся ветка

Текущий архив: 2006.03.12;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.025 c
2-1140291757
ForX
2006-02-18 22:42
2006.03.12
Клиент - Сервер


15-1140181758
oldman
2006-02-17 16:09
2006.03.12
Умер Андрей Петров...


4-1134746024
Cunning
2005-12-16 18:13
2006.03.12
реализация функции GradientFill


15-1140431797
McSimm
2006-02-20 13:36
2006.03.12
Caret в чужих окнах в зависимости от раскладки.


3-1137591605
Quantum
2006-01-18 16:40
2006.03.12
многопоточность и БД