Текущий архив: 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.46 MB
Время: 0.043 c