![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
HBitmap [D5, Win95/98, WinME, WinXP]
lds78 © (2002-09-24 09:51:00)Исходный код:
------------------------------------
MainDC:=GetDC(wnd);
GetClientRect(wnd,r);
ClockDC:=CreateCompatibleDC(MainDC);
ClockBM:=CreateCompatibleBitmap(MainDC,r.Right,r.Bottom);
SelectObject(ClockDC,ClockBM);
br:=CreateSolidBrush(rgb(0,128,192));
FillRect(ClockDC,r,br);
DeleteObject(br);
br:=CreateSolidBrush(rgb(0,0,0));
FrameRect(ClockDC,r,br);
DeleteObject(br);
SetPixel(ClockDC,4,4,rgb(0,0,0));
BitBlt(MainDC,0,0,r.Right-r.Left,r.Bottom-r.Top,ClockDC,0,0,srccopy);
DeleteObject(ClockBM);
DeleteDC(ClockDC);
ReleaseDC(wnd,MainDC)
------------------------------------
Вопрос: почему под Win9x/ME через короткий промежуток времени перестает отображаться графика. Под Win2K/XP все ОК.
Evgeny (2002-09-24 11:18:00) [1]Попробуй так:
OldBm := SelectObject(ClockDC, ClockBM);
...
DeleteObject(SelectObject(ClockDC, OldBM););
DeleteDC(ClockDC);
ReleaseDC(wnd, MainDC)