65.9K
CodeProject 正在变化。 阅读更多。
Home

PngSkin - 按像素窗体皮肤

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.83/5 (11投票s)

2007年11月2日

CPOL

1分钟阅读

viewsIcon

70425

downloadIcon

6903

PngSkin – 用于用最少的代码为 Windows 窗体应用吸引人的皮肤的 ActiveX 控件

Screenshot - Screen.gif

引言

PngSkin 是一个用 Vb6 编写的 ActiveX 控件,可用于将每像素 alpha 透明 PNG 皮肤应用于任何应用程序(VB6 和 .NET)。您可以让您的设计师(Corel Draw)为您的应用程序创建引人注目的设计。该控件可用于 win2000 及以上的操作系统。任何窗口的非客户区都可以在专业的绘图软件中设计。

该控件最好的部分是,您无需大量编码或配置即可在您的应用程序中使用它。对于 VB6 Windows 应用程序,您甚至不需要编写一行代码。对于 .NET Windows 窗体,您只需要编写 2 行代码。

Activex 控件使用 updatelayeredwindow (ULW) 和 setlayeredwindowattributes (SLWA) API 来创建一个能够“托管”控件的半透明窗体。“托管”一词不正确。此示例展示了一种为控件创建宿主窗体并将其叠加在半透明背景上的方法。

Using the Code

对于 VB 6 Windows 窗体

将组件添加到您的项目中并拖放到您的窗体中。将窗体边框设置为“无”,并添加一些背景颜色。

设置属性 ImageOuterPath = "您的 Png 文件路径" 并运行该项目。

对于 .NET Windows 窗体

重复上述步骤并将以下代码添加到您的 Winform

Private Sub PictureBox1_Click(ByVal sender As System.Object, _
	ByVal e As System.EventArgs) Handles PictureBox1.Click
    AxSkin1.UnloadSkin()
    Me.Close()
End Sub

Private Sub Form1_Load(ByVal sender As System.Object, _
	ByVal e As System.EventArgs) Handles MyBase.Load
    Me.BackgroundImage = Nothing
    With AxSkin1
       .ActivateSkin(Me.Handle.ToInt32)
    End With
End Sub

关注点

为了在设计时映射控件,该控件将在 VB 6 中自动将窗体的背景设置为 PNG,但是您需要将窗体的背景图像设置为您的 PNG 文件。

谢谢

非常感谢 LaVolpe 分享 VB 6 中的 PNG 支持 [http://www.Planet-Source-Code.com/vb/scripts/ShowCode.asp?txtCodeId=68527&lngWId=1]。

历史

  • 2007 年 11 月 2 日:初始发布
© . All rights reserved.