头文件Unit1.h的内容:
#ifndef Unit1H
#define Unit1H
//--------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <vcl/Clipbrd.hpp>
//--------------------------------------------------------------------
class TForm1 : public TForm
{
__published:// IDE-managed Components
TMemo *Memo1;
void __fastcall FormCreate(TObject *Sender);
void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
private:// User declarations
void __fastcall ClipboardChanged(TMessage& Msg);
public:// User declarations
__fastcall TForm1(TComponent* Owner);
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_DRAWCLIPBOARD,TMessage,ClipboardChanged) //映射这个消息
END_MESSAGE_MAP(TForm)
HWND LastHandle;// 用于保存剪贴板查看器链中下一个窗口的句柄。
};
//--------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
void __fastcall TForm1::ClipboardChanged(TMessage& Msg)
{
if (Clipboard()->HasFormat(CF_TEXT))
Memo1->Text = Clipboard()->AsText;//将剪贴板中内容显示到Memo1中
}
//--------------------------------------------------------------------
#endif
主程序中:
void __fastcall TForm1::FormCreate(TObject *Sender)
{
LastHandle=SetClipboardViewer(Form1->Handle);
}
//--------------------------------------------------------------------
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
ChangeClipboardChain(Form1->Handle,LastHandle);
}
#ifndef Unit1H
#define Unit1H
//--------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <vcl/Clipbrd.hpp>
//--------------------------------------------------------------------
class TForm1 : public TForm
{
__published:// IDE-managed Components
TMemo *Memo1;
void __fastcall FormCreate(TObject *Sender);
void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
private:// User declarations
void __fastcall ClipboardChanged(TMessage& Msg);
public:// User declarations
__fastcall TForm1(TComponent* Owner);
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_DRAWCLIPBOARD,TMessage,ClipboardChanged) //映射这个消息
END_MESSAGE_MAP(TForm)
HWND LastHandle;// 用于保存剪贴板查看器链中下一个窗口的句柄。
};
//--------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
void __fastcall TForm1::ClipboardChanged(TMessage& Msg)
{
if (Clipboard()->HasFormat(CF_TEXT))
Memo1->Text = Clipboard()->AsText;//将剪贴板中内容显示到Memo1中
}
//--------------------------------------------------------------------
#endif
主程序中:
void __fastcall TForm1::FormCreate(TObject *Sender)
{
LastHandle=SetClipboardViewer(Form1->Handle);
}
//--------------------------------------------------------------------
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
ChangeClipboardChain(Form1->Handle,LastHandle);
}