Главная страница
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.013 c
6-81395
demona
2002-05-15 17:25
2002.07.25
Как можно отслеживать и передавать сообщение через netsend


3-81175
Digitman
2002-07-03 15:06
2002.07.25
Черт-те что происходит непонятное ... и Кузьменко молчит(


7-81504
ses1
2002-05-03 21:36
2002.07.25
Объем памяти видеоадаптера???


1-81274
saxon
2002-07-15 12:07
2002.07.25
Window stay on top


1-81296
AlexeyBl
2002-07-11 19:24
2002.07.25
Как можно осуществить перемещение по DBGrid с помощью колеса мыши