Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.23;
Скачать: 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 вся ветка

Текущий архив: 2005.01.23;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.028 c
14-1104853082
Шишкин Илья
2005-01-04 18:38
2005.01.23
Доступ к общим ресурсам в XP


3-1103325543
GL00m
2004-12-18 02:19
2005.01.23
Время выполнения запроса к mySQL


1-1105282903
Sergo_Zero
2005-01-09 18:01
2005.01.23
Вопрос ? MyForm:TForm.Create(applications);


11-1086338203
BolikDimon
2004-06-04 12:36
2005.01.23
Вопрос по TreeView


1-1105395058
Oddin
2005-01-11 01:10
2005.01.23
OpenDialog