![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Привет всем.
Ребят как поставить фон в ListView? Либо может его можно заменить сторонним компонентом? Заранее спасибо... |
|
#2
|
||||
|
||||
|
Похоже можно создать потомка от ЛВ и у него переназначить процедуру 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
|
|||
|
|||
|
Я еще не настолько знаком с делфи, чтобы понять как это прмвязать к млету listview. Подскажите пожалуйста ((
|
|
#4
|
||||
|
||||
|
Тогда можно проще сделать, но придётся вручную отрисовку выделений итемов обрабатывать
Код:
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
|
|||
|
|||
|
не рисует фон
![]() |
|
#6
|
||||
|
||||
|
Покажите пжлст как делаете - проверил и у меня под D7 это фон рисует
|
|
#7
|
|||
|
|||
|
http://rghost.ru/58398721 вот проект
если на баттон повесить то прорисовывает, НО фон итемов не прозрачный закрывает все изображение Последний раз редактировалось Mobiel, 07.10.2014 в 19:00. |