Форум: "Основная";
Текущий архив: 2005.01.23;
Скачать: [xml.tar.bz2];
ВнизTListBox Найти похожие ветки
← →
Тов. Стёпка Жукин (2005-01-05 13:53) [0]Как выделить некоторые строки в TListBox жирным шрифтом ?
← →
begin...end © (2005-01-05 13:55) [1]> Тов. Стёпка Жукин (05.01.05 13:53)
Рисовать самостоятельно в обработчике TListBox.OnDrawItem.
← →
Тов. Стёпка Жукин (2005-01-05 14:09) [2]Родина тебя НЕ ЗАБУДЕТ!!
← →
Тов. Стёпка Жукин (2005-01-05 14:10) [3]Слушай ты админ? Ты тут круглые сутки сидишь.
← →
begin...end © (2005-01-05 14:13) [4]> [3] Тов. Стёпка Жукин (05.01.05 14:10)
> Слушай ты админ?
Боже упаси.
← →
ssk © (2005-01-05 14:34) [5]>Тов. Стёпка Жукин
а тебе не все равно, кто тут админ?
Меняем шрифт у какого-нибудь пункта ListBox
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
var
s: string;
begin
with ListBox1 do
begin
s := Items[Index];
Canvas.FillRect(Rect);
case Index of
0: begin
Canvas.Font.Name := "Tahoma";
Canvas.Font.Style := Canvas.Font.Style + [fsBold];
end;
1: begin
Canvas.Font.Name := "Tahoma";
Canvas.Font.Style := Canvas.Font.Style + [fsItalic, fsBold];
end;
end;
Canvas.TextOut(0, Rect.Top, s);
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
ListBox1.Style := lbOwnerDrawFixed;
ListBox1.Clear;
ListBox1.Items.Add("Первая строка");
ListBox1.Items.Add("Вторая строка");
end;
← →
кен © (2005-01-06 06:24) [6]О,спасибо!А как изменить цвет полоски выделения?
← →
begin...end © (2005-01-06 08:51) [7]> [6] кен © (06.01.05 06:24)
procedure TMyForm.MyListBoxDrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
const
Background: array [False..True] of TColor = (clLime, clRed);
begin
with (Control as TListBox), Canvas do
begin
Brush.Color := Background[odSelected in State];
FillRect(Rect);
TextOut(0, Rect.Top, Items[Index])
end
end.
P.S. Не проверял.
← →
aus (2005-01-06 09:03) [8]begin...end © (06.01.05 8:51) [7]
Background: array [False..True] of TColor = (clLime, clRed);
А почему бы не так
Background: array [boolean] of TColor = (clLime, clRed);
Это принципиально, или дело вкуса?
← →
begin...end © (2005-01-06 09:06) [9]> [8] aus (06.01.05 09:03)
Дело вкуса. Просто мне так лучше видно, какому значению индекса какой элемент массива соответствует.
← →
Тов. Стёпка Жукин (2005-01-13 13:28) [10]Здравствуйте, уважаемые!
1)Как сделать так , чтобы полоса выделения при зажатой Левой кнопке мыши
не следовала бы за курсором при его перемещении над ListBox , а осталась бы на той строке , где был произведён click (как при DblClick);
2)Как можно безмятежно нарисовать линию на Канве ListBox-а?
В DrawItem - не показывается текст строк ListBox-а...
В OnPaint формы - тухлый номер , сами понимаете (для одной линии ещё сойдёт , а вот для нескольких - ни-ни)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.01.23;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.037 c