Форум: "WinAPI";
Текущий архив: 2004.07.04;
Скачать: [xml.tar.bz2];
ВнизПосмотрите пожалуйста, что крамольного в коде? Найти похожие ветки
← →
Jel © (2004-05-26 18:09) [0]
IconArray : array of HIcon;
...
function TForm1.GetIconWidth(index: integer): integer;
var IcInfo : TIconInfo;
BmpInfo : BITMAP;
begin
Result := 0;
if GetIconInfo(IconArray[index], IcInfo) then begin
if GetObject(IcInfo.hbmColor, SizeOf(BmpInfo), @BmpInfo) <> 0 then
Result := BmpInfo.bmWidth
else ShowMessage(SysErrorMessage(GetLastError));
end;
end;
Радость сия вызывается из процедуры отрисовки витруального листбокса для определения размера иконки. При каждом вызове количество объектов GDI (по данным диспетчера задач) увеличивеатся на 14 и через определенное время программа благополучно начинает глючить (возникают проблемы с отрисовкой). К этому моменту количество объектов GDI переваливает за несколько тысяч. Создается впечатление, что что-то выделяется, но не освобождается. Никак не могу сообразить что именно? Ткните носом, плиз.
← →
VMcL © (2004-05-26 18:28) [1]>>Jel © (26.05.04 18:09)
GetIconInfo creates bitmaps for the hbmMask and hbmColor members of ICONINFO. The calling application must manage these bitmaps and delete them when they are no longer necessary.
?
← →
Jel © (2004-05-26 18:46) [2]
> VMcL © (26.05.04 18:28) [1]
!
Спасибо. Проглядел. :)
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2004.07.04;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.038 c