M mzwang123 Unregistered / Unconfirmed GUEST, unregistred user! 2006-11-21 #1 在delphi中,工具栏中的窗体是可以分开的,比如说debug窗体,当把窗体拉出工具栏后,debug是以窗体的形式出现的,在它的右上角有一个关闭按钮,当把它dock到工具栏上时,它的右上角的关闭按钮消失。请问怎样设置窗体的属性才能实现这样的效果。
在delphi中,工具栏中的窗体是可以分开的,比如说debug窗体,当把窗体拉出工具栏后,debug是以窗体的形式出现的,在它的右上角有一个关闭按钮,当把它dock到工具栏上时,它的右上角的关闭按钮消失。请问怎样设置窗体的属性才能实现这样的效果。
M mzwang123 Unregistered / Unconfirmed GUEST, unregistred user! 2006-11-23 #6 在下是这样想的: 首先不要设置panel容器的docksite属性为true;同样也不要设置form的dragkind为drDock和 dragmode 为drautomatic(我指的是不要在设计的时候设置),在panel显示的时候我们可以这样写: form.manualdock(panel,nil,alclient); form.show; 这样的话form便会dock在panel里而且没有上面的标题栏。 还有就是当我们想把窗体拉出来怎么办?我们可以这样,我们可以截获WM_NCHITTEST将其改为HTCAPTION发送给系统,让系统误以为是单击了标题栏。同时让form的dragkind为drDock, 也令dragmodle 为drautomatic,哦也令panel的docksite为true。 刚出炉的想法还没来得及验证,写出来请大家指正。马上去测试。。。。。
在下是这样想的: 首先不要设置panel容器的docksite属性为true;同样也不要设置form的dragkind为drDock和 dragmode 为drautomatic(我指的是不要在设计的时候设置),在panel显示的时候我们可以这样写: form.manualdock(panel,nil,alclient); form.show; 这样的话form便会dock在panel里而且没有上面的标题栏。 还有就是当我们想把窗体拉出来怎么办?我们可以这样,我们可以截获WM_NCHITTEST将其改为HTCAPTION发送给系统,让系统误以为是单击了标题栏。同时让form的dragkind为drDock, 也令dragmodle 为drautomatic,哦也令panel的docksite为true。 刚出炉的想法还没来得及验证,写出来请大家指正。马上去测试。。。。。