Меню

Как изменить цвет строки listbox vba



Окрасить строку LIstBox другим цветом

Здрастувуте подскажите пожалуйста как можно пометить стрку в LIstBox др. цветом?

10 ответов

Спасибо, но немножко нет.

У меня в ListBox постояно идёт запись, проверяются значения и мне необходимо при не совпадении закрасить данную строку.

Возможно ли это? подскажите как?

makbeth если не составит труда напиши рабочий код плз.

в любом случае спасибо.

begin
// .
flag:=0;
y3:=StrToInt(Table1.Fields.Fields[0].AsString);
y4:=StrToInt(Table1.Fields.Fields[3].AsString);
if (y4 0) then flag:=1;
if (y4 > dan[y3, 2]) and (dan[y3, 2] <> 0) then flag:=2;
ListBox1.AddItem(value, TObject(flag)); // value — значение элемента в TListBox
Table1.Next;
// .
end;

procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
begin
with Control as TListBox do
begin
case Integer(Items.Objects[Index]) of
1: Brush.Color:= ;
2: Brush.Color:= ;
end;
Canvas.FillRect(Rect);
Canvas.TextOut(Rect.Left + 2, Rect.Top, Items[Index]);
end;
end;

Canvas.TextOut(Rect.Left + 2, Rect.Top, Items[Index], 2, len — 1);

пишит что не найден идентификатор ‘Items’
если описываю как Integer пишит: Array type required

и ешё вопросик: Что есть . 2, len-1);? если можно распишите что указывают эти значения. И переменая len чему здась равна?
в приведёном коде нету ни кого присваения этой переной

Источник

Свойство ListBox. ForeColor (Access) ListBox.ForeColor property (Access)

Свойство ForeColor можно использовать для указания цвета текста в элементе управления. You can use the ForeColor property to specify the color for text in a control. Для чтения и записи, Long. Read/write Long.

Синтаксис Syntax

Expression. Основной Цвет expression.ForeColor

Expression (выражение ) Переменная, представляющая объект ListBox . expression A variable that represents a ListBox object.

Примечания Remarks

Это свойство можно использовать для элементов управления в формах или отчетах, чтобы облегчить чтение или передачу особого значения. You can use this property for controls on forms or reports to make them easy to read or to convey a special meaning. Например, вы можете изменить цвет текста в элементе управления UnitsInStock , если его значение падает ниже уровня дозаказа. For example, you can change the color of the text in the UnitsInStock control when its value falls below the reorder level.

Кроме того, это свойство можно использовать в отчетах для создания специальных визуальных эффектов при печати с использованием цветного принтера. You can also use this property on reports to create special visual effects when you print with a color printer. При использовании в отчете это свойство указывает цвет для печати и рисования для методов Print, line и Circle . When used on a report, this property specifies the printing and drawing color for the Print, Line, and Circle methods.

Свойство ForeColor содержит числовое выражение, представляющее значение цвета текста в элементе управления. The ForeColor property contains a numeric expression that represents the value of the text color in the control.

Читайте также:  Как подбирать цвет краски для авто

Для задания этого свойства можно использовать построитель палитры, нажав кнопку построить справа от поля свойства в окне свойств. You can use the Color Builder to set this property by choosing the Build button to the right of the property box in the property sheet. С помощью построителя цветов можно определять пользовательские цвета для текста в элементах управления. Using the Color Builder enables you to define custom colors for text in controls.

Вы можете задать значение по умолчанию для этого свойства, используя стандартный стиль элемента управления или свойство DefaultControl в Visual Basic. You can set the default for this property by using a control’s default control style or the DefaultControl property in Visual Basic.

Для отчетов можно задать свойство Circle только с помощью макроса или процедуры обработки события Visual Basic, указанной в параметре свойства события OnPrint раздела. For reports, you can set the Circle property only by using a macro or a Visual Basic event procedure specified in a section’s OnPrint event property setting.

Пример Example

В приведенном ниже примере используется функция RGB для установки свойств BorderColor, BackColorи ForeColor в зависимости от значения текстового поля ткстпастдуе . The following example uses the RGB function to set the BorderColor, BackColor, and ForeColor properties depending on the value of the txtPastDue text box. Для задания этих свойств также можно использовать функцию кбколор . You can also use the QBColor function to set these properties. При размещении следующего кода в событии Form_Current () задаются параметры отображения элемента управления, как только пользователь открывает форму или перемещается в новую запись. Putting the following code in the Form_Current( ) event sets the control display characteristics as soon as the user opens a form or moves to a new record.

Поддержка и обратная связь Support and feedback

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Have questions or feedback about Office VBA or this documentation? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь. Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.

Источник

Как изменить цвет строки listbox vba

Мастера помогите, как в ListBox`е строку выделить цветом (скажем синим) и соответственно изменить цвет шрифта для данной строки (скажем на белый)? Заранее благодарю.


БурЖуй ( 2003-01-12 00:22 ) [1]

помниться делал както так:
TCheckListBox(Control).Canvas.Brush.Color := clgreen


TTCustomDelphiMaster ( 2003-01-12 01:04 ) [2]

TFiendListBox = class (TListBox);
.
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
var
t: TDrawItemEvent;
begin
if Index = 3 then
begin
TListBox(Control).Canvas.Brush.Color := clGreen;
TListBox(Control).Canvas.Font.Color := clRed;
TListBox(Control).Canvas.Font.Style := [fsBold];
end;
t := TListBox(Control).OnDrawItem;
TListBox(Control).OnDrawItem := nil;
TFiendListBox(Control).DrawItem(Index, Rect, State);
TListBox(Control).OnDrawItem := t;
end;

Читайте также:  Фрукт красного цвета с колючками

И стиль у ListBox поставь в lbOwnerDrawFixed


Song ( 2003-01-12 10:34 ) [3]


kofman ( 2003-01-12 12:02 ) [4]

Источник

Как изменить цвет строки listbox vba

Спасибо, asmodey1, но то что вы предложили не работает, т.е. это не совсем то, что нужно. Понимаете.

каждые 3 сек проверяется определенная папка и в ListBox-е отображаются имена файлов, отправленных на сервер. Другой таймер каждые 5 сек проверяет почтовый ящик, и при наличии письма складывает приаттаченные файлы в другую папку. И вот при совпадении имен мне нужно в ListBox-е выделять нужные файлы цветом, независимо от ListBox1DrawItem

т.е. в вашем случае пока я не выберу в ListBox-е элемент, он не выделится цветом, а мне нужно, чтобы выделение было автоматическое. Т.е. программка работает как бы сама по себе через таймеры, а пользователь заглядывает время от времени и видит — если выделено жирным красным (к примеру), значит ответ пришел с сервера.

Ребят, может я не совсем понятно задачу изложила. попробую по-другому.

на форме три компонента — ListBox1, Edit1, Button1. В ListBox-е цифры от 1 до 30. В Edit1 вводим число 12. Нажимаем на кнопку Button1 и нужно, чтобы в ListBox-е число 12 выделилось цветом. Как это сделать не пойму что писать в procedure TForm1.Button1Click(Sender: TObject);

Источник

VBA Excel. Элемент управления ListBox (список)

Элемент управления пользовательской формы ListBox для выбора и ввода информации в VBA Excel. Свойства списка, его заполнение, извлечение данных, примеры кода.

Элемент управления ListBox

Список используется в тех случаях, когда необходимо добавить в форму информацию, которая заранее известна, а ее отдельные позиции можно сгруппировать в список. Элемент управления ListBox оправдывает себя при небольших списках, так как большой список будет занимать много места на форме.

Использование полос прокрутки уменьшает преимущество ListBox перед элементом управления ComboBox, которое заключается в том, что при открытии формы все позиции для выбора на виду без дополнительных действий со стороны пользователя. При выборе информации из большого списка удобнее использовать ComboBox.

Элемент управления ListBox позволяет выбрать несколько позиций из списка, но эта возможность не имеет практического смысла. Ввести информацию в ListBox с помощью клавиатуры или вставить из буфера обмена невозможно.

Свойства списка

Свойство Описание
ColumnCount Указывает количество столбцов в списке. Значение по умолчанию = 1.
ColumnHeads Добавляет строку заголовков в ListBox. True – заголовки столбцов включены, False – заголовки столбцов выключены. Значение по умолчанию = False.
ColumnWidths Ширина столбцов. Значения для нескольких столбцов указываются в одну строку через точку с запятой (;).
ControlSource Ссылка на ячейку для ее привязки к элементу управления ListBox.
ControlTipText Текст всплывающей подсказки при наведении курсора на ListBox.
Enabled Возможность выбора элементов списка. True – выбор включен, False – выключен*. Значение по умолчанию = True.
Font Шрифт, начертание и размер текста в списке.
Height Высота элемента управления ListBox.
Left Расстояние от левого края внутренней границы пользовательской формы до левого края элемента управления ListBox.
List Позволяет заполнить список данными из одномерного или двухмерного массива, а также обращаться к отдельным элементам списка по индексам для записи и чтения.
ListIndex Номер выбранной пользователем строки. Нумерация начинается с нуля. Если ничего не выбрано, ListIndex = -1.
Locked Запрет возможности выбора элементов списка. True – выбор запрещен**, False – выбор разрешен. Значение по умолчанию = False.
MultiSelect*** Определяет возможность однострочного или многострочного выбора. (fmMultiSelectSingle) – однострочный выбор, 1 (fmMultiSelectMulti) и 2 (fmMultiSelectExtended) – многострочный выбор.
RowSource Источник строк для элемента управления ListBox (адрес диапазона на рабочем листе Excel).
TabIndex Целое число, определяющее позицию элемента управления в очереди на получение фокуса при табуляции. Отсчет начинается с 0.
Text Текстовое содержимое выбранной строки списка (из первого столбца при ColumnCount > 1). Тип данных String, значение по умолчанию = пустая строка.
TextAlign Выравнивание текста: 1 (fmTextAlignLeft) – по левому краю, 2 (fmTextAlignCenter) – по центру, 3 (fmTextAlignRight) – по правому краю.
Top Расстояние от верхнего края внутренней границы пользовательской формы до верхнего края элемента управления ListBox.
Value Значение выбранной строки списка (из первого столбца при ColumnCount > 1). Value – свойство списка по умолчанию. Тип данных Variant, значение по умолчанию = Null.
Visible Видимость списка. True – ListBox отображается на пользовательской форме, False – ListBox скрыт.
Width Ширина элемента управления.
Читайте также:  Белые анемоны язык цветов

* При Enabled в значении False возможен только вывод информации в список для просмотра.
** Для элемента управления ListBox действие свойства Locked в значении True аналогично действию свойства Enabled в значении False.
*** Если включен многострочный выбор, свойства Text и Value всегда возвращают значения по умолчанию (пустая строка и Null).

В таблице перечислены только основные, часто используемые свойства списка. Еще больше доступных свойств отображено в окне Properties элемента управления ListBox, а все методы, события и свойства – в окне Object Browser.

Вызывается Object Browser нажатием клавиши «F2». Слева выберите объект ListBox, а справа смотрите его методы, события и свойства.

Свойства BackColor, BorderColor, BorderStyle отвечают за внешнее оформление списка и его границ. Попробуйте выбирать доступные значения этих свойств в окне Properties, наблюдая за изменениями внешнего вида элемента управления ListBox на проекте пользовательской формы.

Способы заполнения ListBox

Используйте метод AddItem для загрузки элементов в список по одному:

Источник