T Toysun Unregistered / Unconfirmed GUEST, unregistred user! 2005-05-30 #21 mdi 然后 windows.SetParent(Form2.Handle,0)
J jelly_pillar Unregistered / Unconfirmed GUEST, unregistred user! 2005-05-30 #22 Toysun的答案已经可以做到两个窗口标题同时高亮显示了,但是: 仅仅当主窗口获得焦点是两个窗口才会高亮显示,而子窗口(Form2)无法获得焦点。 当有多个窗口时,只有最后加入的子窗口才会高亮显示,而前面的子窗口则无法高亮,这样无法处理三个或三个以上窗口同时高亮显示。 请问对于这个问题有没有好的解决方法吗?或者用其他的方法实现也行。
Toysun的答案已经可以做到两个窗口标题同时高亮显示了,但是: 仅仅当主窗口获得焦点是两个窗口才会高亮显示,而子窗口(Form2)无法获得焦点。 当有多个窗口时,只有最后加入的子窗口才会高亮显示,而前面的子窗口则无法高亮,这样无法处理三个或三个以上窗口同时高亮显示。 请问对于这个问题有没有好的解决方法吗?或者用其他的方法实现也行。
W wanghaiou Unregistered / Unconfirmed GUEST, unregistred user! 2005-05-30 #23 我以前做过的,用几个ScrollBox控件就能搭建出一个类似于你说的那样的窗体,然后再作为标题栏的ScrollBox的鼠标事件里写能让它移动的代码!
J jelly_pillar Unregistered / Unconfirmed GUEST, unregistred user! 2005-05-30 #24 请问wanghaiou愿意贴一下代码吗?
H hm888k Unregistered / Unconfirmed GUEST, unregistred user! 2005-05-30 #25 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;
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;
J jelly_pillar Unregistered / Unconfirmed GUEST, unregistred user! 2005-05-30 #26 To hm888k: 您的代码我还不是很理解,比如TfrmFieldList,chklst1,qry1,FieldList等。 我试过SendMessage函数了,将WM_NCACTIVATE消息分别发给多个窗口,确实可以使多个窗口同时高亮显示。我想根据这个我能写出我需要的代码来了,只是希望您解释一下您的代码,以让我学习一下,谢谢。 (解释完后一定给分)
To hm888k: 您的代码我还不是很理解,比如TfrmFieldList,chklst1,qry1,FieldList等。 我试过SendMessage函数了,将WM_NCACTIVATE消息分别发给多个窗口,确实可以使多个窗口同时高亮显示。我想根据这个我能写出我需要的代码来了,只是希望您解释一下您的代码,以让我学习一下,谢谢。 (解释完后一定给分)