数学建模社区-数学中国

标题: 请问,怎样让程序一到时间,就弹到最前呢? [打印本页]

作者: 小菜菜同学    时间: 2005-4-30 12:15
标题: 请问,怎样让程序一到时间,就弹到最前呢?
<>就是让程序运行后,干点别的,程序运行完或一到时间,就不管你做什么,就一下子弹到最先,起一提示作用。就象有的下棋网络游戏,对方一下棋,棋盘就自动跳出来。</P>" L8 i# t# p. X- Y' j- c' x6 `: y
<>望大侠解答一下,</P>[em02][em02]
作者: ilikenba    时间: 2005-4-30 13:18
<>用一个时钟控件,在OnTimer事件中加上Form2-&gt;Show();</P><>使窗体在最前面主要是重载Form的虚拟函数CreateParams,改变TCreateParams的成员WndParent就可以了。  % I8 `/ A; W- k5 t

& Y' W1 K0 k, wclass  TForm2  :  public  TForm  5 K# Q* x5 I5 f; l$ v. q
{  
. S; k5 B. N% c0 `; u__published:            //  IDE-managed  Components  8 V& g7 J8 d* _* U! m6 @
private:            //  User  declarations  
: _0 }. x( b  xprotected:  : y. V( r, Q! N% R; M
       virtual  void  __fastcall  CreateParams(TCreateParams  &amp;  Param);  9 v( l0 l- ]$ K; U- i% N
public:            //  User  declarations  
( S$ x& D9 g) O" F- z       __fastcall  TForm2(TComponent*  Owner);  
: j/ J/ B. U" J+ h4 r};  
0 O/ m# Q2 `* e: N) _ $ C' D# U0 s( ^; `8 D
void  __fastcall  TForm2::CreateParams(TCreateParams  &amp;  Param)  9 }" h# Z5 l9 Q) ^5 v
{  & d3 _0 w$ R8 L: P; @( y) g
       //调用基类的函数  : l$ ~4 ]# ]% Q) {
       TForm::CreateParams(Param);  - j/ Y# y) t- J0 k* f
' Z" O, g7 W0 `" Y4 |8 q$ l% O
       Param.ExStyle    &brvbar;=  WS_EX_TOPMOST;   
* F( V* x( c+ i5 }) K0 D, j
1 _! k* b" V; B* j! ?       //这儿最关键的是只要Param.WndParent不是Application-&gt;Handle就可以了,  2 `3 ^4 l, O7 W* Y! W) V# j
       //不一定非要用GetDesktopWindow(),用其它的窗口也可以。  ( S$ A2 U9 y6 ]3 x3 n- G1 w1 M8 k
       Param.WndParent  =  GetDesktopWindow();   
! i% v: r4 B4 A! f8 o9 r}) v. B: ~6 u* W' G0 ]4 y
</P>




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5