Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Программа и интерфейс
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 07.10.2014, 14:03
Mobiel Mobiel вне форума
Прохожий
 
Регистрация: 16.03.2013
Сообщения: 4
Версия Delphi: Delphi XE3
Репутация: 10
Восклицание Как поставить фон в ListView?

Привет всем.
Ребят как поставить фон в ListView?
Либо может его можно заменить сторонним компонентом?
Заранее спасибо...
Ответить с цитированием
  #2  
Старый 07.10.2014, 15:58
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Похоже можно создать потомка от ЛВ и у него переназначить процедуру WMPaint, примерно так
Код:
...
type
  TPaintListView = class(TListView)
 protected
  procedure WMPaint(var Message: TWMPaint); message WM_PAINT;
 end;
...

{ TPaintListView }

procedure TPaintListView.WMPaint(var Message: TWMPaint);
var
 Cnv: TControlCanvas;
 DrawBounds: TRect;
begin
 inherited;
 Cnv:= TControlCanvas.Create;
 DrawBounds:= ClientRect;
  try
   Cnv.Control:= Self;
   Cnv.Draw(0, 1, {Пример картинки} Form1.Image1.Picture.Graphic);
  finally
   Cnv.Free;
  end;
 end;
а вот и пример динамики
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
with TPaintListView.Create(self) do Parent:= form1;
end;
Ответить с цитированием
  #3  
Старый 07.10.2014, 17:09
Mobiel Mobiel вне форума
Прохожий
 
Регистрация: 16.03.2013
Сообщения: 4
Версия Delphi: Delphi XE3
Репутация: 10
По умолчанию

Я еще не настолько знаком с делфи, чтобы понять как это прмвязать к млету listview. Подскажите пожалуйста ((
Ответить с цитированием
  #4  
Старый 07.10.2014, 18:08
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Тогда можно проще сделать, но придётся вручную отрисовку выделений итемов обрабатывать
Код:
procedure TForm1.FormCreate(Sender: TObject);
var
 img: TImage;
begin
 img:= TImage.Create(self);
 img.LoadFromFile('fon.jpg');
 ListView1.Canvas.Draw(0, 1, img.Picture.Graphic);
 img.Free;
end;
Ответить с цитированием
  #5  
Старый 07.10.2014, 18:45
Mobiel Mobiel вне форума
Прохожий
 
Регистрация: 16.03.2013
Сообщения: 4
Версия Delphi: Delphi XE3
Репутация: 10
По умолчанию

не рисует фон
Ответить с цитированием
  #6  
Старый 07.10.2014, 18:49
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Покажите пжлст как делаете - проверил и у меня под D7 это фон рисует
Ответить с цитированием
  #7  
Старый 07.10.2014, 18:52
Mobiel Mobiel вне форума
Прохожий
 
Регистрация: 16.03.2013
Сообщения: 4
Версия Delphi: Delphi XE3
Репутация: 10
По умолчанию

http://rghost.ru/58398721 вот проект
если на баттон повесить то прорисовывает, НО фон итемов не прозрачный закрывает все изображение

Последний раз редактировалось Mobiel, 07.10.2014 в 19:00.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 12:19.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter