龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

如何使用OnIdle事件

时间:2009-12-22 15:42来源:未知 作者:admin 点击:
分享到:
使用OnIdle事件随时监视剪贴板内容以改变弹出菜单的可执行项。 在Form1的.h的private加上: void __fastcall OnIdle(TObject* Sender,bool 在Form1的.cpp内加上: void __fastcall TForm1::OnIdle(TObject* Sender,boo

  使用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

   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;

  

精彩图集

赞助商链接