VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)
首页 - 经验之谈 - 自制透明ActiveX控件
发表评论(0)作者:不详, 平台:VB6.0+Win98, 阅读:14924, 日期:2000-12-03
在很多的图形图像处理软件中,我们很容易使一幅图像透明。而在Visual Basic6.0中我们要想使一幅位图部分透明(如人物的背景),按常规方法很难实现。下面介绍一种简单方法:自制一个ActiveX控件,能够使一幅位图任意需透明的地方透明。各位感兴趣的VB初级看官还可了解ActiveX控件的制作过程。

  举个例子,现有这样一幅照片要放到窗体上来美化你的第N个小程序,可我只要人物不要背景(如图1)。


  图1


  一、 图像处理。


  先用图形软件(如PhotoShop)打开源文件“lola.jpg”,选定在VB中要透明掉的地方(背景),然后“Fill”上纯黑色。用“反选”命令反选区域,涂上纯白色,做成一张美丽的剪影(如图2)。另存为“lola1.jpg”文件以备用。这种雕虫小技可不要说不会啊!


  图2


  二、进入Visual Basic,新工程选“ActiveX控件”。


  出现UserControl对象,这个UserControl就是你设计控件界面的舞台,而且它提供了几乎所有标准窗体的方法,在上面也可以放置现有的控件来帮助你建立自定义ActiveX控件。


  三、设定控件窗体属性。


  这是关键一步,成败在此一举。“Name”属性设为“trans”,“Backstyle”属性设为“透明”;“Maskcolor”属性设为纯黑色;“Maskpicture”属性设为“lola1.jpg”(那张剪影)。


  四、用“ActiveX控件界面向导”设计控件的接口(属性、方法和事件)。


  具体如下:

  1、 打开ActiveX控件向导。

  从VB菜单上选“外接程序管理器”命令,弹出窗口。选定“ VB6 ActiveXCtl inteface Wizard”,并选中“加载/卸载”选项,点“确定”钮,然后在菜单中选刚加载的程序。弹出一个说明窗口,“Next”就行了。

  2、 选择控件的接口元素(如图3)。


  图3

  从左边窗口找到“Picture”,点“〉”加入到右边窗口中。点“Next”继续。

  3、 建立自定义接口元素。

  加入你的控件特有的自定义属性、方法和事件。我们今天没有!“Next”继续。

  4、设置元素映射。

  将除自定义属性和事件以外的所有成员映射到用户控件(UserControl)上(如图4)。单击“下一步”。设置自定义元素的属性或改变某些元素的缺省属性。当然如果没有自定义就可跳过这一步。


  图4

  5、 完成。

  点击完成后就可查看它的总结报告了。


  五、生成OCX与测试。


  先保存一下工程项目,然后用菜单“文件/生成工程.ocx”命令生成一个可发布的ActiveX控件。接下来让我们来激动激动:新建一标准EXE工程,用菜单“工程/部件” 命令来添加ActiveX控件,点击“浏览”按钮,找到你刚才生成的trans.ocx,“确定”,回到主界面,双击它,窗体上就出现了你自己的控件,哦...有点不一样,把它的Picture属性设置成“Lola.jpg”(如图5)——多可爱的劳拉!(自我陶醉一番。)


  图5

  需要说明的是,在生成TRANS.OCX时,Visual Basic会把它登记到系统注册表中。而在别的计算机上要使用该控件也需要注册。注册方法如下:找到Windows\system目录下的Regsvr32实用程序,键入命令“regsvr32 trans.ocx” 即可。要删除的话可用“/U”参数。