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

  • 主题发起人 主题发起人 jelly_pillar
  • 开始时间 开始时间
mdi
然后
windows.SetParent(Form2.Handle,0)
 
Toysun的答案已经可以做到两个窗口标题同时高亮显示了,但是:
仅仅当主窗口获得焦点是两个窗口才会高亮显示,而子窗口(Form2)无法获得焦点。
当有多个窗口时,只有最后加入的子窗口才会高亮显示,而前面的子窗口则无法高亮,这样无法处理三个或三个以上窗口同时高亮显示。

请问对于这个问题有没有好的解决方法吗?或者用其他的方法实现也行。
 
我以前做过的,用几个ScrollBox控件就能搭建出一个类似于你说的那样的窗体,然后再作为标题栏的ScrollBox的鼠标事件里写能让它移动的代码!
 
请问wanghaiou愿意贴一下代码吗?
 
procedure TForm1.btn1Click(Sender: TObject);
begin
frmFieldList := TfrmFieldList.CreateParented(Form1.Handle);
frmFieldList.chklst1.Items.AddStrings(qry1.FieldList);
frmFieldList.Show;
SendMessage(frmFieldList.Handle, WM_NCACTIVATE, Ord(True), 0);
end;
 
To hm888k:
您的代码我还不是很理解,比如TfrmFieldList,chklst1,qry1,FieldList等。
我试过SendMessage函数了,将WM_NCACTIVATE消息分别发给多个窗口,确实可以使多个窗口同时高亮显示。我想根据这个我能写出我需要的代码来了,只是希望您解释一下您的代码,以让我学习一下,谢谢。
(解释完后一定给分)
 
多人接受答案了。
 

Similar threads

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