| 站点地图 | 联系我
| www.asm32.net | 2006版 | 资料中心 | linux | asm/asm32 | C/C++ | VC++ | java | 书签 | ASP.Net书签 | 上善若水 厚德载物
 现在位置 :: 主页 >> 资料中心 >> ROOT / CODE / C/C++ /
 

如何监视剪贴板 (C++ Builder)

来源(怡园)

From: http://yynets.best.163.com/cbuilder.htm

如何监视剪贴板 (C++ Builder)

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


Link: http://www.asm32.net/article_details.aspx?id=1911


浏览次数 386 发布时间 2006/8/25 7:22:21 从属分类 C/C++ 【评论】【 】【打印】【关闭
 
| www.asm32.net | 2006版 | 资料中心 | linux | asm/asm32 | C/C++ | VC++ | java | 书签 | ASP.Net书签 | 京ICP备09029108号-1