可以改变,没改变是因为Click事件没有触发,在Private Sub Combo1_Click()行上设置断点可以观察,当Combo的list不为空时,按下向下的方向键事件可被触发,但是height好像只能变大不能变小。
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 LongPrivate Const CB_ERR As Long = -1 Private Const CB_SETITEMHEIGHT As Long = &H153Private Sub Command1_Click() '稍小一点的高度 SendMessage Me.Combo1.hwnd, CB_SETITEMHEIGHT, -1, 50 Combo1.Refresh
End SubPrivate Sub Command2_Click() '稍大一点的高度 SendMessage Me.Combo1.hwnd, CB_SETITEMHEIGHT, -1, 100 Combo1.Refresh End Sub
但在combo的属性被设为1时它的属性是可以改变的
"USER32" Alias "SendMessageA" _
(ByVal hwnd As Long, ByVal Msg As Long, _
ByVal wParam As Long, ByVal lParam As Long) As LongPrivate Const CB_ERR As Long = -1
Private Const CB_SETITEMHEIGHT As Long = &H153Private Sub Command1_Click()
'稍小一点的高度 SendMessage Me.Combo1.hwnd, CB_SETITEMHEIGHT, -1, 50
Combo1.Refresh
End SubPrivate Sub Command2_Click()
'稍大一点的高度
SendMessage Me.Combo1.hwnd, CB_SETITEMHEIGHT, -1, 100
Combo1.Refresh
End Sub
这个方法你也可以将该控件放在PictureBox中,在PictureBox外面再套一层容器也行。反正就是使容器的大小与控件的大小一致就可以了。