Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как мне узнать, что в буффер попал текст? [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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо