![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
onPaint в TListView [D6, WinXP]
SH © (2003-10-20 14:06:00)
Гружу картинку на канвас TListView. Как избежать её порчи при перерисовке окна? Метод onPaint у ListView отсутсвует. ListView занимает у меня всю форму (align=klient)
clickmaker (2003-10-20 19:08:00) [1]
1)
Canvas := TCanvas.Create;
Canvas.Handle := HDC(Message.WParam);
Canvas.Draw(x, y, Bitmap);
SH (2003-10-20 19:02:00) [2]
>clickmaker © (20.10.03 18:51) [6]
> // заливаешь фон на HDC(Message.wParam)
1)BitMap.loadfromfile();здесь не пройдёт?
2) Окошко соxранит стиль WinXP?
clickmaker (2003-10-20 18:51:00) [3]
var OldWndProc: TWndMethod;
OldWndProc := ListView.WindowProc;
ListView.WindowProc := NewWndProc;
procedure TForm1.NewWndProc(var Message: TMessage);
begin
if (Message.Msg = WM_ERASEBKGND) then
// заливаешь фон на HDC(Message.wParam)
...
Message.Result := 1;
end else
OldWndProc(Message);
end
SH (2003-10-20 18:42:00) [4]
>clickmaker © (20.10.03 14:42) [4]
Можно пример такой замены?
clickmaker (2003-10-20 14:42:00) [5]
Как вариант можно подменить WindowProc и обрабатывать WM_ERASEBKGND
ZEE (2003-10-20 14:35:00) [6]
>SH
ну и какая разница - хоть иконка, хоть картинка - все равно OnPaint у TListView нету...
SH (2003-10-20 14:25:00) [7]
>ZEE ...OnCustomDraw
Я гружу настоящую большую катинку, не иконку, через TBitMap.
ZEE (2003-10-20 14:17:00) [8]
OnPaint у TListView???
а может dct-nfrb OnCustomDraw...