alibek писал(а):Да, а зачем?
Какое-то сообщение с SETHEIGHT, помоему.
!Viper! писал(а):CB_SETITEMHEIGHT вроде как
Public Sub ReSizeCombo(frm As Form, cbo As ComboBox) ' Процедура меняет размер выпадающей части комбобокса
Dim cboLeft As Long
Dim cboTop As Long
Dim cboWidth As Long
Dim cboHeight As Long
Dim oldScaleMode As Long
' Меняем Scale Mode формы на пиксели.
oldScaleMode = frm.ScaleMode
frm.ScaleMode = vbPixels
' Сохраняем размеры комбобокса
cboLeft = cbo.Left
cboTop = cbo.Top
cboWidth = cbo.Width
' Задаем новую высоту комбобокса , в соотвествии с рабочей областью формы
cboHeight = frm.ScaleHeight - cbo.Top '- 5
frm.ScaleMode = oldScaleMode
'и собственно ресайзаем
MoveWindow cbo.hwnd, cboLeft, cboTop, cboWidth, cboHeight, 1
End Sub
SendMessageLong imcNaim.hwnd, CB_SETDROPPEDWIDTH, Xpix, 0
Dim r As RECT, i As COMBOBOXINFO
i.cbSize = Len(i)
SendMessage FindWindowEx(ImageCombo1.hwnd, 0, "ComboBox", vbNullString), CB_GETCOMBOBOXINFO, 0, i
GetWindowRect i.hwndList, r
MoveWindow i.hwndList, r.Left, r.Top, r.Right - r.Left, 400, 1
GSerg писал(а):Решил просто перенести.
Public Sub ReSizeImCombo(ImageCombo1 As ImageCombo)
Dim r As RECT, i As COMBOBOXINFO
i.cbSize = Len(i)
SendMessage FindWindowEx(ImageCombo1.hwnd, 0, "ComboBox", vbNullString), CB_GETCOMBOBOXINFO, 0, i
GetWindowRect i.hwndList, r
MoveWindow i.hwndList, r.Left, r.Top, r.Right - r.Left, 1200, 1
End Sub
GSerg писал(а):Этот код работает, если список уже отображён
GSerg писал(а):Прокатит.
Но это криво.
Сейчас этот форум просматривают: Majestic-12 [Bot] и гости: 82