重金悬赏:让多个浮动窗口的标题栏同时发蓝(100分)

  • 主题发起人 主题发起人 咪咪猫
  • 开始时间 开始时间

咪咪猫

Unregistered / Unconfirmed
GUEST, unregistred user!
以下问题困扰我很久了,不知哪位大侠能解答,高分酬谢!
请问:如何实现在一个窗体中,让多个浮动窗口的标题栏同时发蓝。类似Firework或Flash界面中,多个工具面板的标题栏同时发蓝的效果。
 
我想发蓝不一定是得到焦点你可以做一个无标题蓝的窗体,加一个或画一个蓝色的标题
 
自己画
在标题栏上画一个蓝条
 
GetWindowDC自己重新画,当然标题栏高宽度可由API得到,不用我说了吧!
 
同意楼上的,说不定MacroMedia也是这么做的呢
但是要画得像可不容易哦
 
窗体标题都是蓝色不能代表都是Active。
你看看这里http://delphi.mychangshu.com/dispdoc.asp?id=161
它里面的例子就有你想要的效果。
控件源代码TTBFloatingWindowParent里肯定有想要的东西,你自己找找吧,
我没时间了。
 
试试这个吧:
procedure WMNCActivate(var Mes : TWMNCActivate);
message WM_NCACTIVATE;
.....
procedure TForm1.WMNCActivate(var Mes : TWMNCActivate);
begin
mes.Active:=True;
inherited;
end;

如果你要自己画的话,就再加入这个:
procedure WMNCPAint(var Mes : TWMNCPaint);
message WM_NCPAINT;
procedure Paint_Caption;
procedure TForm1.WMNCPAint(var Mes : TWMNCPaint);
begin
inherited;
Paint_Caption;
end;
procedure TForm1.Paint_Caption;
var
ACanvas : TCanvas;
begin
ACanvas := TCanvas.Create;
try
ACanvas.Handle := GetWindowDC(Form1.Handle);
with ACanvas do
begin
//在这里加入你想画标题栏的代码
end;
finally
ReleaseDC(Form1.Handle, ACanvas.Handle);
ACanvas.Free;
end;
end;
 
哈,我会了,你有Email嘛?
我发一个给你用用看。
 
to bubble,发来代码看看,OK?
em:doll-paul@263.net
3q
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部