如何才能让一组CommandButton上的文字靠左对齐显示?

goodnow 2003-03-09 04:27:06
就是普通的CommandButton
...全文
639 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
goodnow 2003-03-10
  • 打赏
  • 举报
回复
谢谢zyl910(910:分儿,我来了!)
zyl910 2003-03-09
  • 打赏
  • 举报
回复
用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 Long

Private 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
thirdapple 2003-03-09
  • 打赏
  • 举报
回复
To Girl1983
也不是不可能,重新绘制就是了
还想懒够 2003-03-09
  • 打赏
  • 举报
回复
自己用图片框和API写一个吧,不是太难
goodnow 2003-03-09
  • 打赏
  • 举报
回复
假设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
yo_jo 2003-03-09
  • 打赏
  • 举报
回复
VB6.0自带的COMMAND控件没有调整对齐方式的属性,有很多按钮控件有这个功能,去网上找找吧!
goodnow 2003-03-09
  • 打赏
  • 举报
回复
居中也行,只要能把这组按钮上的文本左对齐就行。
Girl1983 2003-03-09
  • 打赏
  • 举报
回复
不可能的。别费心思了。

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧