Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.10.2009, 09:50   #1
dplz
Заблокирован
 
Регистрация: 30.03.2009
Сообщений: 15
По умолчанию Изменение цвета выделения строк различных компонентов

Как без закраски изменить цвет выделеных строк, таких компонентов как edit, combobox, listbox и пр. на цвет из системной палитры windows?
dplz вне форума Ответить с цитированием
Старый 30.10.2009, 09:53   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Я лично не знаю такого способа, кроме ручной отрисовки.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.10.2009, 10:08   #3
dplz
Заблокирован
 
Регистрация: 30.03.2009
Сообщений: 15
По умолчанию

Я сейчас использую компоненты из набора AlphaTools, так там когда ставишь свойство style:=lbOwnerDrawFixed, то компонет просто не работает, или меняет свой вид и глючит... вот досада
А цвет выделенных строк зависит от установленной темы в windows'е, может копать в эту сторону? или я глупость сказал?

Последний раз редактировалось dplz; 30.10.2009 в 10:34.
dplz вне форума Ответить с цитированием
Старый 30.10.2009, 10:48   #4
W0LF
Форумчанин
 
Аватар для W0LF
 
Регистрация: 28.03.2008
Сообщений: 940
По умолчанию

Вот к примеру закрашивание ListBox'a, style:=lbOwnerDrawFixed обязательно...

Код:
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
begin
  with (Control as TListBox).Canvas do
  begin
    if (index mod 2 =0) or (index=5) then

        begin
          Font.Color := clBlue;
          Brush.Color := clYellow;
        end else begin
          Font.Color := clRed;
          Brush.Color := clMoneyGreen;
        end;

    FillRect(Rect);
    TextOut(Rect.Left, Rect.Top, (Control as TListBox).Items[Index]);
  end;
end;
При добавлении строки она будет краситься то в жолтый, то в светлозеленый(цвет денег)
W0LF вне форума Ответить с цитированием
Старый 30.10.2009, 17:47   #5
dplz
Заблокирован
 
Регистрация: 30.03.2009
Сообщений: 15
По умолчанию

>W0LF
Это я знаю, я ищу другой способ
dplz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Событие листа - изменение выделения. Евгений ГВС Microsoft Office Excel 1 05.08.2009 01:24
Изменение цвета girz Общие вопросы Delphi 6 30.05.2009 13:43
Различение и изменение цвета peq Microsoft Office Excel 10 16.04.2009 19:50
Изменение цвета в Memo Кирилл13 Помощь студентам 3 15.11.2008 23:03
Изменение цвета Artem Общие вопросы Delphi 5 12.07.2007 09:07