假设AnKey为一组按钮,共有3个,在调用过程中参数就不知该如何传递了 如何才能传递一组按钮控件?BeMaxLenght AnKey, 3 '把按钮上的caption设为相同的长度,使之看来左对齐 'Actl为按钮的名称,Acount为这组按钮的个数 Public Sub BeMaxLenght(Actl As Control, Acount As Integer) Dim i As Integer Dim maxLen As Integer maxLen = LenB(Actl(1).Caption) For i = 2 To Acount If maxLen < LenB(Actl(i).Caption) Then maxLen = LenB(Actl(i).Caption) '取maxLen为最长 Next i For i = 1 To Acount Actl(i).Caption = Actl(i).Caption & Space(maxLen - LenB(Actl(i).Caption)) '全部设为最长 Next i End Sub
自己用图片框和API写一个吧,不是太难
To Girl1983 也不是不可能,重新绘制就是了
用SetWindowLong设置窗口风格就是了 Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As LongPrivate Const GWL_STYLE = (-16)Private Const BS_LEFT As Long = &H100&Private Sub Form_Load() Dim TempLng As Long
如何才能传递一组按钮控件?BeMaxLenght AnKey, 3
'把按钮上的caption设为相同的长度,使之看来左对齐
'Actl为按钮的名称,Acount为这组按钮的个数
Public Sub BeMaxLenght(Actl As Control, Acount As Integer)
Dim i As Integer
Dim maxLen As Integer
maxLen = LenB(Actl(1).Caption)
For i = 2 To Acount
If maxLen < LenB(Actl(i).Caption) Then maxLen = LenB(Actl(i).Caption) '取maxLen为最长
Next i
For i = 1 To Acount
Actl(i).Caption = Actl(i).Caption & Space(maxLen - LenB(Actl(i).Caption)) '全部设为最长
Next i
End Sub
也不是不可能,重新绘制就是了
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As LongPrivate Const GWL_STYLE = (-16)Private Const BS_LEFT As Long = &H100&Private Sub Form_Load()
Dim TempLng As Long
TempLng = GetWindowLong(Command1.hWnd, GWL_STYLE)
TempLng = TempLng Or BS_LEFT
SetWindowLong Command1.hWnd, GWL_STYLE, TempLng
End Sub