请问如何让窗体显示在屏幕的所有应用程序的最外层???
日期:2007-09-28 荐:
请问如何让窗体显示在屏幕的所有应用程序的最外层???比如我的程序有两个窗体Form1、Form2Form1是MainFrom我想让程序开始运行的时候Form1就显示在屏幕的所有应用程序的最外层,也就是覆盖所有其他的应用程序,有点类似于有些媒体播放软件“总是显示在最上”这个功能。点击From1上的一个Button,弹出Form2,这时还要让Form2显示在所有应用程序的最外层,包括要覆盖Form1 不知道我说明白了没有?这样应该如何实现呢?原来在论坛里得到高人的指点,在主Form的Private下定义成员函数:procedure CreateParams(var Params: TCreateParams); OverRide;然后写过程:procedure TFormMain.CreateParams(var Params:TCreateParams);begin inherited CreateParams(Params);//通过调用被继承方法填充默认值 Params.ExStyle:=Params.ExStyle or WS_EX_TOPMOST //添加风格使总在顶端end;我是一点也不明白这么些是为什么?有人能帮我解释一下吗??那个OverRide表是什么?下面的函数怎么解释?Params是什么东西?很多闹不明白。而且这样写只要From2一弹出,就实效了。formStyle := fsStayOnTop就可以了!这个是api,通过微软的黑盒子实现的。只要知道怎么用就行了,没有为什么!override表示重载Params是什么东西,请在Delphi中的Windows SDK中查找CreateWindow这个API函数,查看其参数各意义
标签: