![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Надо перехватить сообщение о копировании в буфер обмена от любого приложения.
lipskiy © (2002-03-24 00:54:00)Пример, аналогичный FAQ, не работает. Что здесь не так?
type
TForm1 = class(TForm)
private
procedure WMCOPY(var Message: TMessage);
message WM_COPY;
public
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.WMCOPY(var Message: TMessage);
begin
beep;
end;
lipskiy (2002-03-24 16:13:00) [1]Спасибо, буду разбираться.
MBo (2002-03-24 09:24:00) [2]вот кривой пример как отправная точка.
посмотри в SDK Help эти функции
а также WM_CHANGECBCHAIN и т.д.
и разберись, это нетрудно.
TForm1...
procedure CLPChanged(var Msg : TMessage);message WM_DRAWCLIPBOARD;
procedure TForm1.Button1Click(Sender: TObject);
begin
SetClipboardViewer(handle);
end;
procedure TForm1.CLPChanged(var msg: TMessage);
var CBF:Cardinal;
begin
OpenClipBoard(0);
memo1.clear;
CBF:=0;
repeat
CBF:=EnumClipboardFormats(CBF);
if CBF<>0 then
Memo1.Lines.Add(Inttostr(CBF));
until CBF=0;
label1.caption:="CLP FormatCount "+inttostr(CountClipboardFormats);
CloseClipBoard;
end;