Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.25;
Скачать: CL | DM;

Вниз

ClipBoard   Найти похожие ветки 

 
Yurko   (2002-07-10 03:57) [0]

Как отловить изменение ClipBoard другой програмой?
(чтобы изменять Enabled кнопки "Вставить", например)


 
MBo ©   (2002-07-10 06:03) [1]

setclipboardviewer и т.д.


 
TTCustomDelphiMaster ©   (2002-07-10 09:13) [2]

Обычно команда Вставить нахится в mainmenu и popupmenu и настраивается по событиям onclick и onpopup.
В программах где кнопка Вставить находится на форме, она всегда активна. Вставка же производится только когда формат данных в буфере обмена соответствует необходимому формату.


 
McSimm ©   (2002-07-10 10:06) [3]

Есть техника, позволяющая отслеживать изменения Clipboard. Для этого надо
1. Зарегистрировать свое окно в цепочке ClipboardChain
2. Выполнять необходимые действия по передаче сообщений по цепочке
3. Удалить свое окно из цепочки.

Пример :
procedure TForm1.FormCreate(Sender: TObject);
begin
// Регистрируемся и запоминаем соседа
Hn := SetClipboardViewer(Handle)
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
// Удаляем себя из списка
ChangeClipboardChain(Handle, Hn);
end;
procedure TForm1.ChangeCBChain(var Message: TWMChangeCBChain);
begin
// Обрабатываем событие изменения очереди
if Message.Remove = Hn then Hn := Message.Next
else
if Hn <> 0 then // передаем по цепочке
SendMessage(Hn, Message.Msg, Message.Remove, Message.Next);
Message.Result := 0
end;
procedure TForm1.DrawClipboard(var Message: TWMDrawClipboard);
begin
//Обрабатываем изменения в Clipboard
Button1.Enabled := IsClipboardFormatAvailable(CF_TEXT);
if Hn <> 0 then // передаем по цепочке
SendMessage(Hn, Message.Msg, 0, 0)
end;



 
Yurko ©   (2002-07-14 12:15) [4]

Спасибо, McSimm!



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

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

Наверх




Память: 0.47 MB
Время: 0.01 c
14-81429
saperxl
2002-06-26 10:46
2002.07.25
Кодировка


1-81357
Александр
2002-07-13 18:04
2002.07.25
TCaption в Word


3-81166
AlexeyBl
2002-06-30 16:42
2002.07.25
Проблемы с чтением данных из BLOB-поля


3-81195
Prog_mail
2002-07-02 15:51
2002.07.25
Как


14-81453
любитель
2002-06-25 11:16
2002.07.25
Нужен хороший проигрыватель avi чтобы в фуллскрине не тормозил.