Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как на фон TListView вставить рисунок рабочего стола [D6]


NikNet ©   (2005-09-26 19:05:00) 

или вообще свой?


Igor_thief   (2005-10-08 19:07:00) [1]

DVM ©   (03.10.05 10:21) [5]
Большущее вам спасибо, товарищи коллеги!


DVM   (2005-10-03 10:21:00) [2]


> А как теперь сделать так, чтобы фон под текстом элемента
> был прозрачным?

ListView_SetBkcolor(ListView1.Handle, CLR_NONE);
ListView_SetTextBkcolor(ListView1.Handle, CLR_NONE);


Igor_thief   (2005-09-30 18:39:00) [3]

А как теперь сделать так, чтобы фон под текстом элемента был прозрачным? Т.е. чтобы фон текста был не белым, а прозрачным, чтобы сквозь него было видно картинку.


DVM   (2005-09-27 10:35:00) [4]

в обработчике WM_ERASEBKGND вызывать функцию PaintDesktop().

p.s Explorer именно так и делает.


kami   (2005-09-26 22:30:00) [5]

http://www.delphimaster.ru/cgi-bin/forum.pl?id=1119443714&n=0&web=1
Ученик   (22.06.05 22:03)

uses
CommCtrl;

procedure TForm1.FormShow(Sender: TObject);
begin
ListView1.Brush.Bitmap := Image1.Picture.Bitmap;
ListView_SetBkcolor(ListView1.Handle, CLR_NONE);
ListView_SetTextBkcolor(ListView1.Handle, CLR_NONE);
end;


или

type
TMyListView = class(TListView)
protected
  procedure WMEraseBkgnd(var Message: TMessage); message WM_ERASEBKGND;
end;

TListView = class(TMyListView);

TForm1 = class(TForm)
  ListView1: TListView;
  Button1: TButton;
  procedure Button1Click(Sender: TObject);
private
  { Private declarations }
public
  { Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

uses
ComObj, CommCtrl;

procedure TForm1.Button1Click(Sender: TObject);
var
LVBKIMAGE: TLVBKIMAGE;
begin
FillChar(LVBKIMAGE, SizeOf(LVBKIMAGE), 0);
LVBKIMAGE.ulFlags := LVBKIF_SOURCE_URL or LVBKIF_STYLE_NORMAL;
LVBKIMAGE.pszImage := 'c:\ascent.jpg';
LVBKIMAGE.xOffsetPercent := -50;
LVBKIMAGE.yOffsetPercent := -50;
ListView_SetBkImage(ListView1.Handle, @LVBKIMAGE)
end;

procedure TMyListView.WMEraseBkgnd(var Message: TMessage);
begin
DefaultHandler(Message)
end;


Почту смотрел ?


NikNet   (2005-09-26 22:11:00) [6]

Не ужели не кто не знает 8(


Наверх

Титульная страница Поиск, карта сайта Написать письмо