在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; }
 
|