?? 如何控制combo控件下拉框的寬度.txt
字號:
可 以 使 用 CB_SETDROPPEDWIDTH消 息 。 下 面 是 一 個 例 子 :
Public Sub SetComboWidth(cboIn As ComboBox)
' Resize the with of the dropdown portion of a combobox to accomodate the longest item
Dim nCount As Long
Dim nNumChars As Long
Dim nLongestComboItem As Long
Dim nNewDropDownWidth As Long
Dim nOldScaleMode As Integer
Dim nLongestComboItemIndex As Integer
Dim oOldFont As Font
' Loop through the cboIn entries, to determine the longest item
For nCount = 0 To cboIn.ListCount - 1
nNumChars = SendMessage(cboIn.hwnd, CB_GETLBTEXTLEN, nCount, CLng(0))
If nNumChars > nLongestComboItem Then
nLongestComboItem = nNumChars
nLongestComboItemIndex = nCount
End If
Next
' Save the parent's font and scale mode
nOldScaleMode = cboIn.Parent.ScaleMode
Set oOldFont = cboIn.Parent.Font
cboIn.Parent.ScaleMode = vbPixels
Set cboIn.Parent.Font = cboIn.Font
' Get Width of longest item in pixels
nNewDropDownWidth = cboIn.Parent.TextWidth(cboIn.List(nLongestComboItemIndex))
cboIn.Parent.ScaleMode = nOldScaleMode
Set cboIn.Parent.Font = oOldFont
' Add width of vertical scrollbar
If cboIn.ListCount > 8 Then
nNewDropDownWidth = nNewDropDownWidth + GetSystemMetrics(SM_CYVSCROLL) + 7
Else
nNewDropDownWidth = nNewDropDownWidth + 7
End If
' Resize the dropdown portion of the cboIn box
SendMessage cboIn.hwnd, CB_SETDROPPEDWIDTH, nNewDropDownWidth, CLng(0)
End Sub
<END>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -