Вниз
Скачать: CL | DM;

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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.024 c
4-1102357837
mefisto
2004-12-06 21:30
2005.01.23
И еще Вопрос !!!! Как перехватить заголовок или указатель(HWnd)


14-1105185195
Ломброзо
2005-01-08 14:53
2005.01.23
Как "притормозить" Apache?


1-1105425565
Registered Guest
2005-01-11 09:39
2005.01.23
Как найти самое длинное слово в тексте?


14-1105069432
Думкин
2005-01-07 06:43
2005.01.23
С днем рождения! 7 января


11-1087380910
Nert
2004-06-16 14:15
2005.01.23
KOLMHLameCoder как пользоваться?




   Наверх