![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как мне узнать, что в буффер попал текст? [D7, Win95/98, WinME, Win2k, WinXP]
Vulko © (2003-12-29 00:38:00)
Как мне узнать, что в буффер попал текст, ну это даже не важно что, просто хотелось бы при копировании в буффер скопировать оттуда инфу в Мемо. Не предлагайте вариант с таймером и проверкой содержимого - меня интересует вариант с TMessage.
Vulko (2003-12-29 13:34:00) [1]
Спс огромное - сейчас попробую.
Slym (2003-12-29 05:05:00) [2]
inherited; в Create засунь
Slym (2003-12-29 05:04:00) [3]
type
TClipboardFr = class(TForm)
Memo1: TMemo;
private
PrevWindow:Longint;
procedure WMCHANGECBCHAIN(var Message: TMessage); message WM_CHANGECBCHAIN;
procedure WMDRAWCLIPBOARD(var Message: TMessage); message WM_DRAWCLIPBOARD;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
end;
....
constructor TClipboardFr.Create(AOwner: TComponent);
PrevWindow:=SetClipboardViewer(Handle);
end;
destructor TClipboardFr.Destroy;
begin
ChangeClipboardChain(Handle,PrevWindow);
inherited;
end;
procedure TClipboardFr.WMCHANGECBCHAIN(var Message: TMessage);
begin
Message.Result:=SendMessage(PrevWindow,Message.Msg,Message.WParam,Message.LParam);
end;
procedure TClipboardFr.WMDRAWCLIPBOARD(var Message: TMessage);
begin
try
if Clipboard.HasFormat(CF_TEXT) then
Memo1.Lines.Text:=Clipboard.AsText;
finally
Message.Result:=SendMessage(PrevWindow,Message.Msg,Message.WParam,Message.LParam);
end;
end;