怎样使两个或多个窗口同时高亮显示? ( 积分: 100 )

  • 主题发起人 主题发起人 jelly_pillar
  • 开始时间 开始时间
J

jelly_pillar

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟最近相做一个程序,需要同时将两个窗口的标题栏高亮显示(就像PhotoShop一样),请问如何能做到呢?
 
小弟最近相做一个程序,需要同时将两个窗口的标题栏高亮显示(就像PhotoShop一样),请问如何能做到呢?
 
将它门设为主从窗口
 
请问什么叫主从关系?就是父子关系吗?怎样将两个或多个窗口设为主从关系使它们同时高亮显示呢?
 
同时高亮显示??
好像不可能吧,在同一时间好像只能有一个窗体可以高亮显示吧???
 
可以的,我以前看过的!
 
沒有吧,。干嗎要高亮顯示呢。。那不就分不清哪個是當前窗體了
 
我的目的是要做一些工具的窗口,当主窗口高亮显示时,所有的工具窗口都高亮显示。这种效果其实有所多软件都有的。比如PhotoShop, Dreamweaver, Flash, Visual C++等。
 
可以告诉你了,你看的那些不是真正的窗体,而是用控件组合做出来的。
 
FormStyle 设置为 MDIForm和MDIChild
 
To wanghaiou:
能说一下具体怎么实现吗?

To Toysun:
我想您可能理解错了,我不是要使用MDI窗口将一个窗口放到另一个窗口里,而是需要并列的窗口,即一个窗口不受另一个窗口框架的限制。
 
我以前做过的,用几个ScrollBox控件就能搭建出一个类似于你说的那样的窗体,然后再作为标题栏的ScrollBox的鼠标事件里写能让它移动的代码!
 
那样真的能实现吗?我用ScrollBox控件,把它从主窗口拖出来后,它就和一个BorderStyle为bsToolWindow的效果一样了,总是只有一个窗口的标题栏是高亮的。

如果您的原来的代码还在,能否请您贴一下,我真的非常想做出这种效果来。谢谢。
 
或许你可以使用Windows 应用程序编程接口(API)函数来使该窗口的标题栏进行闪动。函数FlashWindows可以被用使一个特定的窗口闪动一次。函数原形:
function FlashWindow(const hwnd:Integer;const bInvert:LongBool):LongBool;

使用方法
FlashWindow(Form1.Handle,TRUE);
如果加个Timer,间隔很小时间闪一次,应该可以模拟刷新。
 
有分没有?
 
form1(scrollbox)是主要显示窗体,
Tform2.create
parent:=form1(scrollbox);
left:=x;
top:=y;
即可。
请加分吧
 
To flyjimi:
我想用 FlashWindow并不是很好的方法,因为这样不仅使眼睛觉得不舒服,同时也会占用大量的CPU,使得机器运行变慢,这当然是一般人都不希望看到的。
 
To hm888k:
希望您回答问题前先看清问题好吗?
 
如果要真正同时高亮多个窗口(不采用刷新模拟),应该不可能吧。
除非是用控件做成窗口的样子,仍然不是真正的多窗口同时高亮。
 
我想应该能做出来的。比如那些软件的工具窗口,我想不可能是模拟的。
 

Similar threads

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