如何改变combobox的大小?(把下拉按钮改大点)

jgbeaver 2006-04-12 12:00:15
由于使用触摸屏操作
希望能够把combobox的大小改得足够大,
特别是右边的下拉按钮,还有选择时的上下滚动条都改大点
怎么做呢?
高手能否给个具体的例子
谢谢
不够加分!急
...全文
3091 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
junki 2006-04-12
  • 打赏
  • 举报
回复
没有用过,先试faysky2(出来混,迟早是要还嘀)的方法.
faysky2 2006-04-12
  • 打赏
  • 举报
回复
发送CB_SETITEMHEIGHT消息来改变控件的高度:

Option Explicit
Private Const CB_SETITEMHEIGHT& = &H153
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Private Sub Command1_Click()
Dim NewHeight As Long
NewHeight = 20 ' 以像素为单位
SendMessage Combo1.hwnd, CB_SETITEMHEIGHT, -1, ByVal NewHeight
End Sub
heimazhao 2006-04-12
  • 打赏
  • 举报
回复
不会做。呵呵
viena 2006-04-12
  • 打赏
  • 举报
回复
没办法~
lzheng2001 2006-04-12
  • 打赏
  • 举报
回复
友情up
jgbeaver 2006-04-12
  • 打赏
  • 举报
回复
上面的代码是修改
下拉显示框的宽度
不是下拉按钮的宽度

如何修改下拉按钮的宽度呢?
jgbeaver 2006-04-12
  • 打赏
  • 举报
回复
在网上找了个例子
但是没有弄成功,窗体上的combobox没有反映
哪位帮我看看这个例子怎么弄
给个具体的

调整 Combo 下拉部分的宽度
声明:
Private Declare Function SendMessage Lib _
"USER32" Alias "SendMessageA" _
(ByVal hwnd As Long, ByVal Msg As Long, _
ByVal wParam As Long, ByVal lParam As Long) As Long
Private Const CB_GETDROPPEDWIDTH = &H15F
Private Const CB_SETDROPPEDWIDTH = &H160
Private Const CB_ERR = -1
函数:
' 取得 Combo 下拉的宽度
' 可以利用该函数比例放大或缩小宽度
Public Function GetDropdownWidth(cboHwnd As Long) As Long
Dim lRetVal As Long
lRetVal = SendMessage(cboHwnd, CB_GETDROPPEDWIDTH, 0, 0)
If lRetVal <> CB_ERR Then
GetDropdownWidth = lRetVal
'单位为 pixels
Else
GetDropdownWidth = 0
End If
End Function
'设置 Combo 下拉的宽度
'单位为 pixels
Public Function SetDropdownWidth(cboHwnd As _
Long, NewWidthPixel As Long) As Boolean
Dim lRetVal As Long
lRetVal = SendMessage(cboHwnd, _
CB_SETDROPPEDWIDTH, NewWidthPixel, 0)
If lRetVal <> CB_ERR Then
SetDropdownWidth = True
Else
SetDropdownWidth = False
End If
End Function

jgbeaver 2006-04-12
  • 打赏
  • 举报
回复
我要的不仅仅是改变combobox上下的高度
要是改变高度只要设置Font就可以了

我想改变combobox右边下拉按钮的宽度
还有下拉后,右边上下滚动条的宽度
这个怎么该呢?

faysky2(出来混,迟早是要还嘀)
能解决

非常感谢
northwolves 2006-04-12
  • 打赏
  • 举报
回复
更改注册表,用完再改回
laviewpbt 2006-04-12
  • 打赏
  • 举报
回复
BUCUO
junki 2006-04-12
  • 打赏
  • 举报
回复 1
发现用Font.Size可以改变大小.

Combo1.Font.Size = 20

1,451

社区成员

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

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