注册 登录
编程论坛 VB6论坛

窗体美化3个窗体内容同时显示在一个窗体中,求高手讲解!

wxflw 发布于 2012-12-27 10:44, 391 次点击
只有本站会员才能查看附件,请 登录
今天发现一个美化窗体控件实例的,发现他创建了3个窗体,分别设置了不同的内容,可是运行的时候3个窗体的内容在一个窗体中显示了,并且都能响应事件,没弄明白怎么搞的,猜测是不是将另外两个窗体设置了透明,只显示控件,但是这个触发事件怎么弄的?还有移动窗体3个一起动?求解释!
4 回复
#2
yz10252012-12-27 16:40
透过CTL响应的,OCX的源码,一直按F8就知道了.
这个布景之前也有抓过,只是已找到可替代更好用的.
#3
wxflw2012-12-27 18:15
回复 2楼 yz1025
什么原理啊?能解释一下吗?是不是捕捉鼠标停留位置加触发click事件吗?
#4
yz10252012-12-27 20:05
click事件是在控件设计模式时就要写好的,不需要写捕捉的步骤,VB6已经帮你做掉那段,
只需将捕捉这功能加入控件即可,当然这是大概描述,CTL里的动作可不少,很难一次讲完,而且相互之间环环相扣,
基本上启动时他先把看的见的东西先加到画面上,然后不做动作看不见的东西透过CTL来连接,举例来说:

PopupMenu frm_Menu.ppm_Start 原本就是叫出在frm_Menu所建立的菜单的指令
frm_About.Show 1 原本就是叫出在frm_About所建立的东西的指令,只是他在叫出的同时顺便透过控件修改布景

没用特别的东西,都是内建的指令,真佩服写了这么多代码,但是感觉用起来好麻烦,多的控件都是原本就有的功能控件,
大致看起来并没更好用,若只是为了美化也没必要自制控件的功能,只需要拉出已有的控件,再重绘控件本体的外观即可,
若编成OCX则更麻烦,还要注册,保持CTL的状态使用,也不会增加程式效率,硬要说能自制图形改变布景,不过本人对画图不在行,
而且这图感觉应该有相应的软件去制作,才比较方便吧,还是Xtreme SuitePro ActiveX比较简单方便
#5
wxflw2012-12-28 14:53
总觉得就是MouseMove到那个位置然后加上click功能好麻烦!还是找个简单点的先学习学习吧!
1