技术文章 > 如何使用OnIdle事件

如何使用OnIdle事件

2018-06-23 01:07

文档管理软件,文档管理系统,知识管理系统,档案管理系统的技术资料:

使用OnIdle事件随时监视剪贴板内容以改变弹出菜单的可执行项。
在Form1的.h的private加上:
void __fastcall OnIdle(TObject* Sender,bool& Done);
在Form1的.cpp内加上:
void __fastcall TForm1::OnIdle(TObject* Sender,bool& Done)
{
 bool TextSelected=DBRichEdit1->SelLength>0;
 N17->Enabled=TextSelected;//剪切,复制,清除
 N18->Enabled=TextSelected;
 N20->Enabled=TextSelected;
 bool CBHasText=Clipboard()->HasFormat(CF_TEXT);// 需加入#include<Clipbrd.h>
 N19->Enabled=CBHasText;//粘贴
 bool HasText=RichEdit1->Lines->Count>0;
 N21->Enabled=HasText;//全选
 bool HasChanged=RichEdit1->Modified;
 ToolButton2->Enabled=HasChanged;
 ToolButton4->Enabled=HasChanged;
}
在Form1的OnCreate内加上:
Application->OnIdle=OnIdle;