窗体刷新触发什么事件?(200分)

  • 主题发起人 主题发起人 Gec
  • 开始时间 开始时间
G

Gec

Unregistered / Unconfirmed
GUEST, unregistred user!
label透过透明的窗体透到桌面上
实现在桌面上写字
但是:当我的窗体被其他窗体覆盖后
label就会对它上面的窗体透明
当我的窗体上面的窗体移出后,我窗体上的label留下了刚才的影象

我在 form1.paint中form1.visble:=false ,form1.visble:=true
结果:窗体一直在闪,无论任何情况下,form1.paint总被基活
可能是form1.visble激活pint呀?
我该如何解决 lable残留上面窗体的bug ?
 
窗体刷新触发什么事件?
procedure TForm1.Button1Click(Sender: TObject);
begin
form1.Refresh;
end;

procedure TForm1.FormPaint(Sender: TObject);
begin
showmessage('find');
end;
 
我在paint事件中
如何让窗体重画自己?

不管是show,还是refresh
他们都回调paint事件
结果造成4循环

只要能解决label的重画就可以
 
忘记说了,
我的窗体透明使用formobjece 的构件
它不停的触发paint消息
如果用coold5其他透明窗体构件
则我的label就无法继续透明到桌面
我在 form1.paint中form1.visble:=false ,form1.visble:=true
则lable不停在桌面闪动
真是麻烦
 
这个不太清楚。
试试:form1.visible:=false / form1.visible:=true 快速转换一下。
 
我就是用它转换,每秒1次,刷的眼睛都花了
如果2分钟1次,用户还是可以看到残留景象
微软可以在桌面上显示win版本号,不知道他们是如何实现的
 
sorry,张郎才已尽。
各位高手请继续。
 
我准备得到桌面gdi后,向桌面写字
也许可以
 
你先取得桌面的句柄,
直接在桌面上写字不就得了
 
程序运行是总是在不断地重绘窗体所以一直会产生Paint事件,
你为可以用你的窗体被激活是产生的 OnActivate 事件试试。
 
后退
顶部