正文

BCB实时监视剪贴板2005-07-25 11:09:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/yang/3223.html

分享到:

头文件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);
}

阅读(3833) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册