Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.11;
Скачать: CL | DM;

Вниз

Transparent Background   Найти похожие ветки 

 
Ded Moroz ©   (2005-06-22 16:35) [0]

Подскажите, plz, как сделать прозрачный фон вместо белого в TListView?


 
DVM ©   (2005-06-22 17:35) [1]

Что значит прозрачный? Как на рабочем столе что ли? Так он там не прозрачный, а просто с картинкой.


 
Ded Moroz ©   (2005-06-22 20:21) [2]

Ведь можно же сделать прозрачную форму, значит скорее всего и TListView можно. Картинку вставить у меня пока не получилось - она затирается при выделении элементов...


 
Ученик   (2005-06-22 22:03) [3]



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;



 
DVM ©   (2005-06-23 10:12) [4]


> Ведь можно же сделать прозрачную форму, значит скорее всего
> и TListView можно.

Нельзя. Если нужно чтобы сквозь ListView "просвечивал" рабочий стол, то используй PaintDesktop() в обработчике WM_ERASEBKGND.

> Картинку вставить у меня пока не получилось - она затирается
> при выделении элементов...

Вставляется без проблем. См. [3] Вроде правильно все.


 
Ded Moroz ©   (2005-06-23 15:21) [5]

ОГРОМНОЕ ВСЕМ СПАСИБО! :)


 
Игорь Шевченко ©   (2005-06-23 20:42) [6]

Ученик   (22.06.05 22:03) [3]

Все вижу, кроме связи класса TMyListView с ListView1.
Я что-то пропустил ?


 
Ученик   (2005-06-23 21:33) [7]

>Игорь Шевченко ©   (23.06.05 20:42) [6]


TListView = class(TMyListView);


 
Игорь Шевченко ©   (2005-06-23 22:20) [8]

Ученик   (23.06.05 21:33) [7]

Спасибо. Действительно не заметил.



Страницы: 1 вся ветка

Текущий архив: 2005.07.11;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.073 c
6-1112774053
atruhin
2005-04-06 11:54
2005.07.11
Как обратиться к конкретному DNS серверу для разрешения имени


3-1117091783
mebel
2005-05-26 11:16
2005.07.11
Последний раз! покажите в тексте что я делаю не так?


6-1112762797
Solidol
2005-04-06 08:46
2005.07.11
Прямой запуск файла из TWebBrowser1 ..


1-1118610420
Kolan
2005-06-13 01:07
2005.07.11
Функция в потоке работает неверно. Помогите разобратся.


14-1118238463
peace
2005-06-08 17:47
2005.07.11
Злюки Модеры