niceform.ctl
来自「非常漂亮的VB控件」· CTL 代码 · 共 400 行
CTL
400 行
VERSION 5.00
Begin VB.UserControl NiceForm
ClientHeight = 1500
ClientLeft = 0
ClientTop = 0
ClientWidth = 10500
InvisibleAtRuntime= -1 'True
PropertyPages = "NiceForm.ctx":0000
ScaleHeight = 1500
ScaleWidth = 10500
ToolboxBitmap = "NiceForm.ctx":001F
Begin VB.Timer Tim
Enabled = 0 'False
Interval = 1000
Left = 120
Top = 3000
End
Begin VB.PictureBox Picture1
Appearance = 0 'Flat
AutoRedraw = -1 'True
AutoSize = -1 'True
BackColor = &H80000005&
BorderStyle = 0 'None
ForeColor = &H80000008&
Height = 480
Left = 0
Picture = "NiceForm.ctx":0331
ScaleHeight = 480
ScaleWidth = 480
TabIndex = 2
Top = 0
Width = 480
End
Begin VB.PictureBox Pc
AutoRedraw = -1 'True
AutoSize = -1 'True
BorderStyle = 0 'None
BeginProperty Font
Name = "MS Sans Serif"
Size = 8.25
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 720
Left = 600
Picture = "NiceForm.ctx":0F73
ScaleHeight = 720
ScaleWidth = 9600
TabIndex = 0
TabStop = 0 'False
Top = 120
Visible = 0 'False
Width = 9600
Begin VB.PictureBox Pb
AutoRedraw = -1 'True
AutoSize = -1 'True
BorderStyle = 0 'None
BeginProperty Font
Name = "MS Sans Serif"
Size = 8.25
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 150
Left = 480
Picture = "NiceForm.ctx":177B5
ScaleHeight = 150
ScaleWidth = 1050
TabIndex = 1
TabStop = 0 'False
Top = 240
Visible = 0 'False
Width = 1050
End
End
End
Attribute VB_Name = "NiceForm"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
Attribute VB_Ext_KEY = "PropPageWizardRun" ,"Yes"
Private m_cN As cNeoCaption
Private m_Mnu As cMenuBar
'缺省属性值:
Const m_def_MnuStyleIdx = 0
'属性变量:
Public Enum MnuStyle
[蓝色经典1] = 0
[时尚世界] = 1
[蓝色魅力1] = 2
[幽蓝世界] = 3
[流线造型1] = 4
[流线造型2] = 5
[深海幽蓝] = 6
[金属时代] = 7
[蓝色魅力2] = 8
[电子时尚1] = 9
[发光金属] = 10
[缤纷世界] = 11
[蓝色经典2] = 12
[电子时尚2] = 13
[电子时尚3] = 14
[条纹之美] = 15
[天蓝光泽] = 16
[蓝色超平] = 17
[时尚蓝色] = 18
[Mac] = 19
[红色管道] = 20
[XP时代] = 21
[微型世界] = 22
[水晶巧克力] = 23
End Enum
Dim m_MnuStyleIdx As Integer
Private fW As Long
Private fH As Long
Private MnuIns As Boolean
Private Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long
Private Declare Function GetSystemMenu Lib "user32" (ByVal hWnd As Long, ByVal bRevert As Long) As Long
Private Declare Function GetMenu Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function AppendMenu Lib "user32" Alias "AppendMenuA" (ByVal hMenu As Long, ByVal wFlags As Long, ByVal wIDNewItem As Long, ByVal lpNewItem As String) As Long
Private Declare Function InsertMenu Lib "user32" Alias "InsertMenuA" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long, ByVal wIDNewItem As Long, ByVal lpNewItem As Any) As Long
Private Declare Function SetMenuItemBitmaps Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long, ByVal hBitmapUnchecked As Long, ByVal hBitmapChecked As Long) As Long
Private Declare Function SetMenuItemInfo Lib "user32" Alias "SetMenuItemInfoA" (ByVal hMenu As Long, ByVal un As Long, ByVal bool As Boolean, lpcMenuItemInfo As MnuInfo) As Long
Private Declare Function GetMenuCheckMarkDimensions Lib "user32" () As Long
Private Declare Function GetDC Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function SetBkMode Lib "gdi32" (ByVal hDC As Long, ByVal nBkMode As Long) As Long
Private Declare Function SetBkColor Lib "gdi32" (ByVal hDC As Long, ByVal crColor As Long) As Long
Private Declare Function FillRect Lib "user32" (ByVal hDC As Long, lpRect As RECT, ByVal hBrush As Long) As Long
Private Declare Function CreateSolidBrush Lib "gdi32" (ByVal crColor As Long) As Long
Private mSMenu As Long
Private Const GWL_WNDPROC = (-4)
Private Const MF_BITMAP = &H4&
Private Const MF_BYCOMMAND = &H0&
Private Const MF_BYPOSITION = &H400&
Private Const MF_CALLBACKS = &H8000000
Private Const MF_CHANGE = &H80&
Private Const MF_CHECKED = &H8&
Private Const MF_CONV = &H40000000
Private Const MF_DELETE = &H200&
Private Const MF_DISABLED = &H2&
Private Const MF_ENABLED = &H0&
Private Const MF_END = &H80
Private Const MF_ERRORS = &H10000000
Private Const MF_GRAYED = &H1&
Private Const MF_HELP = &H4000&
Private Const MF_HILITE = &H80&
Private Const MF_HSZ_INFO = &H1000000
Private Const MF_INSERT = &H0&
Private Const MF_LINKS = &H20000000
Private Const MF_MASK = &HFF000000
Private Const MF_MENUBARBREAK = &H20&
Private Const MF_MENUBREAK = &H40&
Private Const MF_MOUSESELECT = &H8000&
Private Const MF_OWNERDRAW = &H100& '关系弹出菜单的样式
Private Const MF_POPUP = &H10&
Private Const MF_POSTMSGS = &H4000000
Private Const MF_REMOVE = &H1000&
Private Const MF_SENDMSGS = &H2000000
Private Const MF_SEPARATOR = &H800&
Private Const MF_STRING = &H0&
Private Const MF_SYSMENU = &H10&
Private Const MF_UNCHECKED = &H0&
Private Const MF_UNHILITE = &H0&
Private Const MF_USECHECKBITMAPS = &H200&
Private Const MF_DEFAULT = &H1000&
Public TmpColor As Long
Private Type MnuInfo
cbSize As Long
fMask As Long
fType As Long
fState As Long
wID As Long
hSubMenu As Long
hbmpChecked As Long
hbmpUnchecked As Long
dwItemData As Long
dwTypeData As Long
cch As Long
End Type
Private Declare Function CreateRoundRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, ByVal Y3 As Long) As Long
Private Declare Function SetWindowRgn Lib "user32" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
Private Sub Skin(F As Form, cN As cNeoCaption, indx As Integer)
Dim idx As Integer
cN.ActiveCaptionColor = &HFFFFFF
cN.InActiveCaptionColor = &HC0C0C0
cN.ActiveMenuColor = 0
cN.ActiveMenuColorOver = &H0
cN.InActiveMenuColor = &H0&
cN.MenuBackgroundColor = &HE0E0E0
cN.CaptionFont.Name = "宋体"
cN.CaptionFont.Size = 9
cN.MenuFont.Name = "宋体"
cN.MenuFont.Size = 9
F.BackColor = &HE0E0E0
If m_MnuStyleIdx <= 30 And m_MnuStyleIdx >= 0 Then
SaveSetting "NiceForm", "Skin", "idx", Str(m_MnuStyleIdx)
cN.Attach F, pc.Picture, Pb.Picture, 19, 20, 90, 140, 240, 400, m_MnuStyleIdx, indx
Else
idx = GetSetting("NiceForm", "Skin", "Idx", 0)
cN.Attach F, pc.Picture, Pb.Picture, 19, 20, 90, 140, 240, 400, idx, indx
End If
' frmAbout.Show 1
End Sub
'注意!不要删除或修改下列被注释的行!
'MemberInfo=14
Public Function LoadSkin(idx As Integer) As Variant
SkinF idx
End Function
Public Function SkinFormFile(MainPicFileName As String, BorderPicName As String) As Variant
On Error GoTo err
pc.Picture = LoadPicture(MainPicFileName)
Pb.Picture = LoadPicture(BorderPicName)
Skin UserControl.Parent, m_cN, 0
SaveSetting "NiceForm", "Skin", "Idx", "255"
Exit Function
err:
MsgBox "图片格式不正确,请设置一个正确的文件路径.", vbExclamation, "格式不正确"
End Function
Private Sub SkinF(idx As Integer)
If idx < 0 Then
idx = 0
End If
If idx = 255 Then
Exit Sub
End If
If idx <= 24 Then
pc.Picture = LoadResPicture(1100 + idx, 0)
Pb.Picture = LoadResPicture(1200 + idx, 0)
Skin UserControl.Parent, m_cN, idx
SaveSetting "NiceForm", "Skin", "Idx", idx
End If
End Sub
Private Sub ThisCheck_Click()
End Sub
Private Sub UserControl_Initialize()
Set m_cN = New cNeoCaption
Set m_Mnu = New cMenuBar
End Sub
Private Sub UserControl_Resize()
UserControl.Width = Picture1.Width
UserControl.Height = Picture1.Height
End Sub
'注意!不要删除或修改下列被注释的行!
'MemberInfo=7,0,0,0
Public Property Get MnuStyleIdx() As MnuStyle
Attribute MnuStyleIdx.VB_Description = "设置窗口菜单的样式,请将它设置为(0-10)以内的数字"
MnuStyleIdx = m_MnuStyleIdx
End Property
Public Property Let MnuStyleIdx(ByVal New_MnuStyleIdx As MnuStyle)
m_MnuStyleIdx = New_MnuStyleIdx
PropertyChanged "MnuStyleIdx"
End Property
'为用户控件初始化属性
Private Sub UserControl_InitProperties()
m_MnuStyleIdx = m_def_MnuStyleIdx
End Sub
'从存贮器中加载属性值
Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
m_MnuStyleIdx = PropBag.ReadProperty("MnuStyleIdx", m_def_MnuStyleIdx)
End Sub
'将属性值写到存储器
Private Sub UserControl_WriteProperties(PropBag As PropertyBag)
'---------------------------------------------------------------
RegPass
' RegYn '注册检查
'---------------------------------------------------------------
Call PropBag.WriteProperty("MnuStyleIdx", m_MnuStyleIdx, m_def_MnuStyleIdx)
End Sub
Private Sub RegPass()
Dim pass As String
pass = QueryValue(HKEY_LOCAL_MACHINE, "SOFTWARE\华盛软件工作室\NiceForm", "Userkey")
'Debug.Print pass
If Left(pass, 16) <> "llcyw13931137599" Then
FrmPass.Show 1
End If
End Sub
Private Sub RegYn()
Dim id As String, SN As String, Rsn As String
'--------------------------------------------------------------------------------
id = Int(GetSerialNumber("C:\") * 1.25) * 4
a = Abs(Val(id) / 1245 * 541 / 23 * 15)
B = Abs(Val(id) / 3 / 3 * 24 / 12)
c = Abs(Val(id) * 0.14 / 0.24)
d = Abs((Val(id) - Val(id / 2) + Val(id * 2)) / 2)
SN = Trim(Str(Int(a))) & "-" & Trim(Str(Int(B))) & "-" & Trim(Str(Int(c))) & "-" & Trim(Str(Int(d)))
Rsn = QueryValue(HKEY_LOCAL_MACHINE, "SOFTWARE\华盛软件工作室\NiceForm", "SN")
If Left(Rsn, Len(SN)) <> SN Then
frmAbout.Show 1
End If
End Sub
'注意!不要删除或修改下列被注释的行!
'MemberInfo=14
Public Function CloseSkin() As Variant
m_cN.Detach
End Function
'注意!不要删除或修改下列被注释的行!
'MemberInfo=14
Public Function MiniSize(SetMiniSize As Boolean) As Variant
If SetMiniSize = False Then
UserControl.Parent.Width = fW
UserControl.Parent.Height = fH
Else
fW = UserControl.Parent.Width
fH = UserControl.Parent.Height
UserControl.Parent.Width = 3100
UserControl.Parent.Height = 900
End If
End Function
'
Public Function AddToTry(Menu As Object, ToolTip As String) As Variant
AddToTrayIcon UserControl.Parent, Menu
SetTrayTip ToolTip
End Function
'注意!不要删除或修改下列被注释的行!
'MemberInfo=14
Public Function UnloadTryIcon() As Variant
RemoveFromTray
End Function
'注意!不要删除或修改下列被注释的行!
'MemberInfo=14
Public Function SetWindowOnTop(SetOntop As Boolean) As Variant
If SetOntop = True Then
SetWindowPos UserControl.Parent.hWnd, -1, 0, 0, 0, 0, 3
Else
SetWindowPos UserControl.Parent.hWnd, -2, 0, 0, 0, 0, 3
End If
End Function
'注意!不要删除或修改下列被注释的行!
'MemberInfo=14
Public Function DoRndForm() As Variant
' TheForm: The form you want to be rounded rectangle shape
Dim TempRegions(6) As Long
Dim FormWidthInPixels As Long
Dim FormHeightInPixels As Long
Dim a
' Convert the form's height and width from twips to pixels
FormWidthInPixels = UserControl.Parent.Width / Screen.TwipsPerPixelX
FormHeightInPixels = UserControl.Parent.Height / Screen.TwipsPerPixelY
' Make a rounded rectangle shaped region with the dimentions of the form
a = CreateRoundRectRgn(0, 0, FormWidthInPixels + 1, FormHeightInPixels + 1, 3, 3)
' Set this region as the shape for "TheForm"
a = SetWindowRgn(UserControl.Parent.hWnd, a, True)
End Function
'注意!不要删除或修改下列被注释的行!
'MemberInfo=14
Public Function AutoSkinControl() As Variant
Dim aControl As Control
Dim a, B, c, d As Integer
With UserControl.Parent
For Each aControl In UserControl.Parent.Controls
On Error GoTo err
If TypeName(aControl) = "NiceButton" Or TypeName(aControl) = "NicePressBar" Or TypeName(aControl) = "NiceCheck" Or TypeName(aControl) = "NiceOption" _
Or TypeName(aControl) = "NiceSlider" Then
aControl.Style = m_MnuStyleIdx
End If
Next
End With
Exit Function
err: MsgBox err.Number & err.Description
End Function
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?