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

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

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...


Наверх

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