Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Фоновый рисунок в TListView


Автор: Ilya 1.10.2004, 15:04
Вот недавно столкнулся с проблемой рисования фонового рисунка в TListView.Подскажите, кто может!
Если можете, то с исходниками.
Заранее спасибо...

Автор: Guest 1.10.2004, 17:16
Код

procedure TForm1.Button1Click(Sender: TObject);
var
 bit: TBitmap;
begin
 bit := TBitmap.Create;
 Bit.LoadFromFile('C:\TEMP\background.bmp');
 ListView1.Canvas.Brush.Bitmap := bit;
 ListView1.Canvas.FillRect(Rect(0,0,ListView1.Width, ListView1.Height));
end;

Автор: Ilya 11.10.2004, 18:24
Неа, не пашет...
Рисовать то оно рисует, а вот объекты,которые там находятся(TListItem),когда
перерисовываются стирают уже нарисоыванный фоновый рисунок...
Есть у кого-то ещё какие-то пердложения?Подскажите ПЛЛИЗ

Автор: p0s0l 11.10.2004, 19:54
Во, так:
Код
procedure TForm1.ListView1AdvancedCustomDraw(Sender: TCustomListView;
 const ARect: TRect; Stage: TCustomDrawStage; var DefaultDraw: Boolean);
var RectSrc : TRect;
begin
 with ListView1 do
 begin
   RectSrc := ARect;
   OffsetRect (RectSrc, ViewOrigin.X, ViewOrigin.Y);
   Canvas.CopyMode := SRCCOPY;
   Canvas.CopyRect(ARect, Bmp.Canvas, RectSrc);
 end;
end;
Только это работает для стилей vsIcon и vsSmallIcon...

Автор: neutrino 11.10.2004, 21:36
Я тут на форуме выкладывал как сделать прозрачный контрол. Может поможет?
Точно помню, что пользовался ф-цией BitBlt.
Добавлено @ 21:42
Эта тема уже была: http://forum.vingrad.ru/index.php?showtopic=7879&hl=прозрачный

А это та самая ссылка, что я дал тому человеку: http://forum.vingrad.ru/index.php?showtopic=3947&hl=прозрачный

Автор: Ilya 13.10.2004, 18:51
Спасибо!
Проверим...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)