小菜菜同学 发表于 2005-4-30 12:15

请问,怎样让程序一到时间,就弹到最前呢?

<P>就是让程序运行后,干点别的,程序运行完或一到时间,就不管你做什么,就一下子弹到最先,起一提示作用。就象有的下棋网络游戏,对方一下棋,棋盘就自动跳出来。</P>
<P>望大侠解答一下,</P>

ilikenba 发表于 2005-4-30 13:18

<P>用一个时钟控件,在OnTimer事件中加上Form2-&gt;Show();</P><P>使窗体在最前面主要是重载Form的虚拟函数CreateParams,改变TCreateParams的成员WndParent就可以了。  

class  TForm2  :  public  TForm  
{  
__published:            //  IDE-managed  Components  
private:            //  User  declarations  
protected:  
       virtual  void  __fastcall  CreateParams(TCreateParams  &amp;  Param);  
public:            //  User  declarations  
       __fastcall  TForm2(TComponent*  Owner);  
};  

void  __fastcall  TForm2::CreateParams(TCreateParams  &amp;  Param)  
{  
       //调用基类的函数  
       TForm::CreateParams(Param);  

       Param.ExStyle    &brvbar;=  WS_EX_TOPMOST;   

       //这儿最关键的是只要Param.WndParent不是Application-&gt;Handle就可以了,  
       //不一定非要用GetDesktopWindow(),用其它的窗口也可以。  
       Param.WndParent  =  GetDesktopWindow();   
}
</P>
页: [1]
查看完整版本: 请问,怎样让程序一到时间,就弹到最前呢?