TApplication大全
Tapplication : HandleException
为应用程序提供异常的默认处理方法。
void__fastcall HandleException(System::TObject*Sender);
当执行产生一个不响应Windows信息的事件的定制组件时,HamdleException过程对组件记录器有用。为应用程序设定异常处理方法代码,使用OnException事件处理程序。
如果所有应用程序代码对一个异常的阻滞努力都无效的话,则应用程序自动调用Handl-eException方法,该方法日显示一个表示发生错误的对话框。异常对象为Eabort除外,如果存在OnException处理程序,则HandleException过程对其进行调用;否则 HandleEception过程调用 ShowException以显示一个表示发生错误的消息对话框。
TApplication : HandleMessage
中断应用程序的执行,以便在回到应用程序控制之前,Windows 能够处理Windows消息队列中的单个消息。
void__fastcall HandleMessage(void );
如果消息队列为空,HandleMessage过程调用Application的 Idle方法,HandleMessage过程又反过来调用OnIdle事件处理程序(如果定义了该事件处理程序的话)。如果应用程序运行空的HandleMessage过程,则需要很长一段时间才能返回。因此当优先的行为被处理时,在等待处理消息为基础的某事时不要调用handleMessage过程。相对地,当处理消息之外的其他行为时,应调用ProcessMessage.
TApplication : helpCommand
提供了以WinHelp AIP(应用程序设计接口)中的任何帮助命令的快速存取。
bool __fastcall HelpCommand (int Command .int Data ):
使用Helpcommand函数可存取 WinHelp 。HelpCommand 函数是一个嵌套函数,它只须调用一个调用OnHelp事件的方法。
Tapplication : helpcontext
为一个应用程序显示帮助文件。
bool__fastcall HelpContext (Classes ::THelpContext Context);
使用HelpContext函数可为应用程序提出在CurrentHelpFile属性中指定的Helpcontext函数直接调用OnHelp事件。Helpcontext函数传递包含在HelpFile 中有文件名称以及在Context参数传递的上下文编号。例如,如果context数值为714,helpcontext方法将在屏幕是显示帮助文件中714的上下文帮助ID。
如果Helpfile是一个空字符串,HelpJump函数返回False,这表明应用程序没有帮助文件。在其他所有情况下,HelpJurmp函数返回True。
Tapplication : HideHint
隐藏当前的提示。
void__fastcall HideHint(void);
应用程序很少直接调用Hide过程。HideHint过程被内部使用,根据预设的条件和计时器数值,在适当的时候隐藏提示窗口。例如,CancelHint调用HideHint过程。
TApplication::HintMouseMessage
调整提示窗口的显示。
void__fastcall HintMouseMessage(Controls::TControl* Control,Messages::TMessage &Message);
应用程序很少直接调用HintMouseMessage过程。HintMouseMessage过程由内部使用,以管理提示窗口的显示。
TApplication : HookMainWindow
使一个非C++Builder对话框能够接收送到应用程序的主窗口的信息。
void__fastcall HookMainWindow(TWindowHook &Hook);
使用HookMainWindow 可以使非C+ + Builder 对话框能够如同子应用程序一样工作,而不是作为单独的窗口。例如,在调用HookMainWindow后,可以使用Alt + Tab在应用窗口中进行切换。当由Handle属性标识的窗口接收相关的对话框消息时,窗口把它作为Hook参数传递给对话过程。Hook参数为TWindowHook类型,是用于非Delphi对话过程的方法指针。除语法有点不同外,对话过程与窗口过程在处理对话框消息时相似。
对话框可以与主窗口挂接,一旦关闭对话框,将调用UnhookMainWindow方法释放挂接。
Tapplication : Initalize
Initalize过程为初始化诸如OLE自动控制这样的分系统提供了机会。
void __fastcall Initalize(void);
Initalize过程是每个Delphi工程第一个调用的方法。它调用InitProc过程指针。默认时,由于InitProc过程指针为nil,因此应用程序调用Initalize过程不执行任何操作。为使用Initalize过程,必须预先确定InitProc过程指针。这可以通过下面两种方法的其中一个来完成:
包含一个定义InitProc的单元,如OleAuto单元。
创建一个给InitProc过程指针赋值的自定义初始化过程,并且加入一个工程源文件对调用该过程要先于调用Initalize的过程。
在一个应用程序中只能定义一个InitProc的实例。如果不止一个单元为InitProc设定了一个数值,则仅是最后一次赋值的单元工作。对于没有对InitProc设定一个数值的工程,对Initalize过程的调用可能完全从工程源文件中删除。尽管Initalize过程是主工程源文件代码第一个调用的方法,但它并不是应用程序第一个被执行的代码。应用程度首先执行由应用程序使用的所有单元的Initalization部分。
Tapplication : MessageBox
MessageBox函数用于向用户显示一个指定的消息。
int __fastcall MessageBox(char * Text,char * Caption,int Flags);
使用MessageBox函数,可以显示一个普通的消息对话框,框内有一个或多个按扭。Caption参数是对话框的标题且是可选的。MessageBox函数是一个Windows API MessageBox函数的封装。TApplication的MessageBox函数封装自动为Windows API函数提供所需的缺少的窗口句柄参数。
Text参数的数值是要显示的消息,如果需要消息长度可超过255个字符。长消息还可在消息框中自动z绕回。Caption参数的数值是显示在对话框标题栏的标题,Caption参数的长度也可超过255个字符,但不能绕回。长标题产生宽的消息框。
关于Flags参数的可能数值,参见Windows API 帮助文件中的MessageBox函数。在该帮助文件上,相对应的参数被称为TextType。Flags参数的数值确定在消息框显示的按钮以及消息框的行为。为获得想要的效果,可以对Flags参数的数值进行组合。如果内存不够创建消息框,则MessageBox函数返回值为0。其他的返回值见下表:
Tapplication : Minimize
使用程序缩小到Windows任务栏上(最小化)。
void__fsteall Minimize (void);
直接调用Minimize过程以最小化应用程序。当用户最小化应用程序时,自动调用Minimize方法。不要将Minimize方法与最小化一个窗体或窗口相混淆。对一个窗体或窗口的最小化、最大化功恢复,将改变WindowState属性的数值。
Tapplication : NormalizeAllTopMosts
使已被指定作为最前端的窗体含主窗口(它们的FormStyle属性为fsAtayOnTop)和行为就像不是最前端的窗体一样。
void__fastcall NormalizeAllTopMosts(void);
NormalizeAllTopMosts过程 的行为与NormalizeTopMosts方法类似。不同的是前者还包括主窗口。
TApplication::NormalizeTopMosts
使已被指定作为最前端的窗体(它们的formStyle属性为fsStayOnTop)的行为就像不是最前端的窗体一样。
void__fastcall NormalizetopMosts(void);
在使用NormalizeTopMosts过程中,可以使一个直接使用Windows API函数(如MessageBox 以及MessageDLG)显示的消息框或对话框,出现在最前端的窗体上面。否则,保持在最前端的窗体将隐藏消息框。
当使用Delphi方法和函数显示消息框昧是必需调用NormalizeToppMosts过程。为使以fsStayOnTop指定的窗体重新回到最前端,可调用RestoreTopMosts过程。
ProcessMessages
TApplication::ProcessMessages
作用: 暂时中断应用程序的执行,以使Windows能够应事件。
void__fastcall ProcessMessages(void):
调用processMessages过程,以允许Windows处理调用ProcessMessages过程时产生的事件。ProcessMessages方法使windows消息循环直至windows消息空,然后返回到应用程序。
注意:忽略消息处理只影响调用ProcessMessages过程的应用程序,而不影响其他应用程序。在冗长有运算中,定期地调用ProcessMessages过程可允许应用程序能够响应绘画和其他消息。
ProcessMessages过程不允许应用程序执行空操作,但HandleMessages过程允许。
TApplication : Restore
恢复一个最小化的应用程序至正常大小。
void__fastcall Restore(void);
使用Restore 过程,可以恢复应用程序至其最小化前的先前大小。当用户恢复应用程序至正常大小时,自动调用Restore方法。不要将Restore方法与恢复一个窗体或窗口至其原始大小相混淆。
Tapplication : restoreTopMosts
使fsStayOnTop指定的窗体重新恢复到最前端。
void __fastcall RestoreTopMosts(void);
使用RestoreTopMosts过程,可以使最初被指定为最前端的窗体(FormStyle属性为fsStayOnTop重新回到最前端位置。这些窗体是用NormalizeTopMosts方法暂时成为非最前端窗体的。
Tapplication : run
Run过程用于执行应用程序。
void __fastcall Run(void);
Run过程包含应用程序的主信息循环。当应用程序的信息循环终止时,对Run过程的调用才能退出。创建一个新工程时,Delphi自动在工程文件中建立一个调用Run过程的主程序块。当应用程序执行时,调用应用Run方法。
Tapplication : ShowException
在消息框中显示发生在应用程序中的异常。
void__fastcall ShowException(sysutils::Exception*E);
如果没有为OnException事件指定处理程序,ShowException过程被Handleexception作为默认调用。如果一个异常处理程序滤过异常,对于那些没有滤过的异常,需要调用ShowException过程。
指定应用程序如何进行异常处理,需要为OnException事件写一个处理程序。由于默认的VCI异常处理程序将自动调用ShowException过程,因此在C++Builder应用程序中,很少需要调用ShowException过程。
Tapplication : Tapplication
创建一个新的应用程序。
__fastcall virtual TApplication (Chasses ::TCommponent*AOwner);
应用程序不直接调用TApplication构造函数。每一个C+ + Builder应用程序自动创建一个应用程序对象的实例。对于TApplication对象,Create方法为其一些属性设置默认值。 C+ +Breate方法构造函数还可使应用程序准备运行,例如通过建立提示窗口、应用程序图标、主窗口句柄、HInstance及管理主窗口(窗体)的子窗口的列表等。
TApplication::Terminate
Terminate过程用于结束应用程序的执行。
void __fasteall Terminate ( void ):
Terminate过程调用Windows API 的PostQitMessage函数,以完成应用程序的顺序关闭。Terminate 过程不是即时的。WM—QUIT消息和关闭主窗体,Trminate过程被自动调用。
Tapplication : UnhookMainWindow
释放先前通过调用HookMainWindow 方法挂接的对话过程。
void__fastcall UnhookMainWindow (TWindow Hook&Hook);
使用UnhookMainWindow 过程,可以释放挂接的窗口。指定对话过程作为Hook参数的数值。TWindowHook类型中InhookMainWindow方法使用的参数类型。它是一个非Delphi对话框的对话过程使用的方法指针类型。对一个窗口而言,对话过程类似于一个窗口过程,在对话过程中为对话框处理信息,但它的语法略有不同。
关于Windows挂接的更多信息,参见Windows帮助文件中的SetWindowsEx 函数和UnhookWindowsEx函数。
Tapplication : OnActivate
当应用程序变为活动时,OnActivate事件发生。
__proprty classes::TNotifyEvent OnActivate = {read = fOnTctivate, write = TOnactivate } ;
当应用程序被激活时,使用OnActivate事件可以写一个事件处理程序以招执行特定的处理。一个应用程序在下列情况下被子激活;当应用程序开始运行时,或者当焦点从另一Windows应用程序移回到该应用程序的任何窗口时。
TApplication : OnDeactivate
当一个应用程序变为非活动时,Ondeactivate事件发生。
__property classes ::TNotifyEvent OnDeactivate = {read = FOnDeactivate,Write =FOnDeactivate };
使用在应用程序变为非激活之前立即产生的OnDeavtivate事件,可以指定任何特定的处理。当用户从该应用程序切换到另一Windows 应用程序时,OnDeacativate事件发生。
TApplication : OnException
在应用程序中出现一个未处理异常时,OnException事件发生。
__ptoperty TExceptionEvent OnException = {read = FOnException,write = ROnException};
使用OnException事件可以修改应用程序中出现一个未处理异常期间的默认行为。在HandleException方法中自动调用OnException事件处理程序。OnException事件只处理在信息处理期间产生的异常。在Application::Run执行之前或之后产生的异常。不能产生OnException事件。
如果一个异常通过了应用程序代码中的try 块,则应用程序自动调用HandleException方法,除非异常对象为EAbort。否则HandleWxception方法调用存在的OnException事件处理程序。如果OnWxception事件处理程序不存在,HandeException方法则调用TException以显示一个指示产生错误的消息对话框。TExceptionEvent类型是OnException事件的类型,它指向应用程序中处理异常的一个方法。Sender参数为引发异常有对象,E参数为异常对象。
Tapplication : onHelp
当应用程序收到一个帮助的请求时,OnHelp事件发生。
__Property Classes::THelpevent OnHelp ={read=FOnHelp,write=FOnHelp};
使用OnHelp事件,可以写一个被请求帮助时执行特定处理的事件处理程序。HelpContext方法自动引发OnHelp事件。将CallHelp参数设为True,可以使VCL在出现请求帮助事件时调用WinHelp。将CallHelp参数设为False,可避免VCL调用WinHelp。
所有应用程序帮助方法都经过OnHelp事件。只在OnHelp事件的CallHelp参数返回True或者OnHelp事件没有被设定时,才调用WinHelp。为得到Command参数和DataCD数据数值,应在Win32开发参考帮助文件(Win32.HLP)中查找。这个帮助文件点明的WinHelp API(应用程序设计接口)。Data参数的数值视Command 参数的数值情况而定。若函数运行成功,则返回True否则返回False。
Tapplication : OnHint
当鼠标光标移到一个能够显示帮助提示的控件或菜单选项上时,OnHint事件发生。
__property Classes::TNotifyEvent OnHint = {read=FOnHint,write=FOnHint};
使用OnHint事件,可以写一个产生OnHint事件时执行特定处理的事件处理程序。当用户鼠标光标位于Hint属性数值为一个非空字符串("")的控件上时,OnHint事件发生。
OnHint事件的通常用法是,像显示面板控件(TStatusBar)的标题一样,显示控件或菜单选项的Hint属性数值,并籍此像使用状态栏一样使用面板。OnHint事件产生时,Hint属性能够指定一个帮助提示以及一个出现在别处的常用提示。
TApplication::OnIdle
当应用程序变为空闲时,OnIdle事件发生。
__property TIdleEvent OnIdle = {read=FOnIdle,write=FOnIdle};
使用OnIdle事件,可以写一个应用程序空闲时执行特定处理的事件处理程序。当应用程序不处理代码时,称为应用程序空闲。例如,当应用程序等待来自用户的输入时,应用程序为空闲。
TIdleEvent类型是OnIdle事件的类型,它指向一个应用程序空闲时运行的方法。TIdleEvent类型有一个布尔型参数Done,默认时该参数为True。若参数Done为True,当OnIdle事件返回时,调用Windows API WaitMessage函数。只有在应用程序消息队列中出现一个新消息时,WaitMessage函数才放弃对其他应用程序的控制。参数Done为False时,即使应用程序不忙,也不放弃对其他应用程序的控制。
当应用程序转移到空闲状态时,只调用一次OnIdle事件。除非参数Done设置为False,否则不连续调用OnIdle事件。将参数Done设置为False的应用程序,将消耗过多的CPU时间,从而影响整个系统性能。
Tapplication : OnMessage
当应用程序收到Windows消息时,OnMessage事件发生。
typedef void__fastcall (__closure * TMessageEvent)(tagMSG &Msg, bool &Handled);
__property TMessageEvent OnMessage ={read=FOnMessage,write=FOnMessage};
使用OnMessage事件,可以捕获任何或所有告知应用程序中所有窗口的Windows消息。当应用程序收到一个Windows消息时,产生OnMessage事件。在应用程序中,一个OnMessage事件处理程序的创建,可允许其他处理程序而不是那些为TApplication对象在事件中声明的处理程序的响应消息。如果应用程序没有一个针对输入消息的特定处理程序,则消息将被发送到它所期望的窗口且Windows处理消息。
TmessageEvent类型是OnMessage事件的类型,它指向一个对输入的Windows消息进行处理的方法。Msg参数用于识别Windows消息,Handled参数确定是否对消息进行处理。如果已完成对消息的处理,则Handled参数被设为True以避免正常的消息的处理。
注意:OnMessage事件只接收向消息队列告知的消息而不是那些用Windows API的SendMessage函数直接发送的消息,每秒钟将有成千上万的消息流经OnMessage事件。由于OnMessage事件处理程序能够影响整个应用程序的执行。因此,编写事件处理程序代码时要小心。
Tapplication : OnNinimize
当应用程序被最小化时OnMinimize事件发生。
__property Classes::TNotifyEventOnMinimize= {read = FOnMinimize, write = FOnMinimize};
使用OnMinimize 事件,可以写一个应用程序被最小化时执行特定处理的事件处理程序。应用程序被最小化,或是因为用户最小化了主窗口,或是因为调用了Minimize方法。Icon属性确定代表最小化有应用程序的图标。
TApplication :OnRestore
当先前被最小化的应用程序恢复到正常大小时,OnRestore事件发生。
__property Classes :: TNotifyEvent OnRestore = {read = FOnRestore, write = FOnRestore };
使用onrestore事件,可以写一个应用程序从以一个图标出现的最小化状态被恢复时执行特定处理的事件处理程序。应用程序被恢复,或是因为用户恢复应用程序,或是因为应用程序调用了Restore方法。不要将恢复一个应用程序与恢复一个窗体或窗口至原始大小相混淆。对一个窗体或窗口的最小化、最大化或恢复,将改变WindowState属性的数值。
TApplication:OnShowHint
当应用程序着手为单个控件的帮助提示一个提示窗口时,OnShowHint事件发生。
__property TShowHintEvert OnShow Hint ={read =FOnShowHInt,write =FOnShowHint};
使用OnShowHint事件,可以写一个修改帮助提示的外观和行为的事件处理程序.TShowHinrEvent类型是OnShowHint 事件的类型,它指向一个为控件显示帮助提示的方法。HintStr参数设置帮助提示的文本。若要获取单个控件的提示文本,应调用GetLongHit函数或GetShoretHint函数并将结果赋值给HintStr参数。若要修改文本,只需修改该字符串的内容即可。
使用CanShow变量参数,可以允许阻止帮助提示的显示。如果CanShow变量参数为True,显示帮助提示CanShow变量参数为False,则不显示帮助提示。HintInfo参数是一个记录,它包含了关于帮助窗口的外观和行为的信息。