Vilor
Зарегистрирован: 05.06.2006 Сообщения: 4
|
Добавлено: Пн Июн 05 2006 19:38 Заголовок сообщения: Цвет шрифта в Combobox-e VBA Excel и настройка ширины полей |
|
|
Вопрос по программной настройке внешнего вида Combobox -ов с помощью макроса VBA for Excel.
1. Подскажите, возможно ли в изменять цвет шрифта отдельных строк ComboBox или ListBox в зависимости от содержимого. Например в строках содержаться значения "true" и "false" и "другой текст". Можно ли строки с "true" сделать зелеными, а с текстом "false" - красными???
2. Как программно изменить ширину отдельного столбца в Combobox. Ширину всего комбобокса или выпадающего списка - есть вариант, а ширину отдельного столбца (если BoundColumn>1) - не знаю. Помогите пожалуйста!
Спасибо всем ответившим.................. |
|
Vilor
Зарегистрирован: 05.06.2006 Сообщения: 4
|
Добавлено: Чт Июн 08 2006 01:05 Заголовок сообщения: Ширина combo box |
|
|
Может кто-нибудь прокомментирует следующие функции???
?????????????????????????????????????????????????????????????
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
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
'Width in pixels
Else
GetDropdownWidth = 0
End If
End Function
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 |
|