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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.02.2012, 19:08   #11
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

не получиться.

можете конечно не рисовать ничего, но тогда и не будет ничего
событие то вызываеться не просто так.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 26.02.2012, 19:20   #12
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Для выделенной строки фон прорисовывайте если odSelected in State. Не помню нужно ли фон прорисовывать для не выделенной строки, если нужно то просто другим цветом. Можно еще анализировать в фокусе ли ListBox. А выдергивать имя файла можно просто ExtractFileName(ListBox.Items[ListBox.ItemIndex])
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 26.02.2012, 20:11   #13
rota
 
Регистрация: 26.02.2012
Сообщений: 6
По умолчанию

Аватар, спасибо за выдергивание) вы наверно думаете, что я разбираюсь, а я не разбираюсь=)
куда там Pos применить? а как фон прорисовывать? Canvas.Brush.Color задаёт цвет только под текстом, а не во всей строке
rota вне форума Ответить с цитированием
Старый 26.02.2012, 20:14   #14
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Canvas.Brush.Color задаёт цвет только под текстом, а не во всей строке
дык зарисуйте всю строку сами, а потом уже выводите текст.
вы рисуете итем полностью.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 26.02.2012, 21:48   #15
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
procedure TForm1.ListBoxDrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
var xFilePath,xFileName: String;
begin
  if (odSelected in State) and ListBox.Focused then ListBox.Canvas.Brush.Color:=clMenuHighlight
  else if odSelected in State                  then ListBox.Canvas.Brush.Color:=clBtnFace
                                               else ListBox.Canvas.Brush.Color:=clWindow;
  ListBox.Canvas.Brush.Style:=bsSolid;
  ListBox.Canvas.FillRect(Rect);
  if (odSelected in State) and ListBox.Focused then ListBox.Canvas.Font.Color:=clWindow
                                               else ListBox.Canvas.Font.Color:=clWindowText;
  xFilePath:=ListBox.Items[Index];
  xFileName:=ExtractFileName(xFilePath);
  xFilePath:=Copy(xFilePath,1,Length(xFilePath)-Length(xFileName));
  ListBox.Canvas.TextOut(Rect.Left,Rect.Top,xFilePath);
  ListBox.Canvas.Font.Style:=[fsBold];
  ListBox.Canvas.TextOut(Rect.Left+GetPWithStr(xFilePath),Rect.Top,xFileName);
end;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование данных из одной книги в другую в разные столбцы. kipish_lp Microsoft Office Excel 15 15.07.2015 07:27
Как разделить данные из одной ячейки и разнести их в разные, через обычные формулы Vasilev Microsoft Office Excel 15 24.09.2014 10:49
Ввод и вывод в одной строке sparksurgeon Паскаль, Turbo Pascal, PascalABC.NET 1 21.12.2011 01:57
ИЗ ОДНОЙ ОБЩЕЙ В ТРИ РАЗНЫЕ spburger Microsoft Office Excel 1 30.11.2009 19:29
Подскажите как организовать поиск в строке, с возможностью вставлять разные фильтры ну по типу Wadimka Общие вопросы Delphi 2 18.05.2009 17:03