Консультация № 109274
13.11.2007, 19:54
0.00 руб.
0 1 1
Здравствуйте, уважаемые эксперты!
Подскажите, пожалуйста, как в BCB 6.0 в ComboBox вывести часть пунктов неактивными (обычно отображаются серым шрифтом), т.е. чтобы их нельзя было выбрать, но они присутствовали в списке. Как я понял, стандартными средствами этого сделать нельзя (так и не нашел нужного свойства у ComboBox). Поиск в Интернете также ничего не дал.
Заранее спасибо всем ответившим!

Обсуждение

Неизвестный
14.11.2007, 11:43
общий
это ответ
Здравствуйте, NAP!
Возможно это и не то решение, которое вы ищите, но первое что пришло в голову.

У стандартного ComboBox ставим значение свойства Style в csOwnerDrawVariable
Кроме этого определяем обработчик события OnDrawItem
В котором указываем код из приложения (он отображает элемент с номером 3 (четвертый по счету) на красном фоне)

За невозможность выбора отвечать придеться вам же.


Приложение:
if(Index==3) ComboBox1->Canvas->Brush->Color=clRed;ComboBox1->Canvas->TextRect(Rect,Rect.Left + 2, Rect.Top + 2,ComboBox1->Items->Strings[Index]);
Форма ответа