当前位置导航:炫浪网>>网络学院>>编程开发>>C++教程>>C++基础入门教程

如何监视剪贴板

      在Form1的.h的private加上:
    void __fastcall ClipboardChanged(TMessage& Msg);
    在Form1的.h的public加上:
    BEGIN_MESSAGE_MAP
     MESSAGE_HANDLER(WM_DRAWCLIPBOARD,TMessage,ClipboardChanged)
    END_MESSAGE_MAP(TForm)
    在Form1的.cpp内加上:
    void __fastcall TForm1::ClipboardChanged(TMessage& Msg)
    {
     POINT MousePos;
     GetCursorPos(&MousePos);
     PopupMenu4->PopupComponent=Form1;
     PopupMenu4->Popup(MousePos.x,MousePos.y); //一有变化,就弹出一个菜单,复制,剪切或清除都能引发此函数
    }
    在Form1的.cpp内有一个ToolButton
    void __fastcall TForm1::ToolButton9Click(TObject *Sender)
    {
     static HWND LastHandle;
     static bool clip=false;
     if(clip==true)
     {
      ToolButton9->Down=false;
      ChangeClipboardChain(Form1->Handle,LastHandle); //结束监视
     }
     else
     {
      ToolButton9->Down=true;
      Clipboard()->Clear();
      Application->Minimize();
      LastHandle=SetClipboardViewer(Form1->Handle); //启动监视
     }
     clip=!clip;
    }
相关内容
赞助商链接