Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2015.01.11;
Скачать: CL | DM;

Вниз

Canvas   Найти похожие ветки 

 
Инна   (2009-10-30 10:35) [0]

создается для контролов и картинок всегда или только если есть обращение к нему в коде?


 
mdw ©   (2009-10-30 11:41) [1]

А исходников у Вас нет?

При обращении.


 
Инна   (2009-10-30 11:45) [2]

нафига рыца в исходниках когда можно спросить конкретно у кто знает ?


 
miek   (2009-10-30 12:02) [3]

Канва - это обертка для HDC. Создается только для контролов, у которых есть свое окно. Подробнее нужно смотреть в коде контрола. В VCL практикуется стиль lazy allocation, т.е. при обращении.


 
Инна   (2009-10-30 12:10) [4]

а вот например в онпаинт передается DC , если его использовать канва создасца и тут вобще по другому ?


 
Инна   (2009-10-30 12:16) [5]

не хочу чтоб всякие обертки для GDI создавались вообще, что для етого нужно\ненужно делать ?


 
Инна   (2009-10-30 12:54) [6]

проверила
создается при онпаинт и кустомдраве
как понимаю , чтоб от него отвязаться нужно делать свою обработку в онмесаже, правильно ?


 
mdw ©   (2009-10-30 13:52) [7]


> создается при онпаинт и кустомдраве


А внимательно смотрели? Не создается.


 
Инна   (2009-10-30 14:07) [8]

а чего и куда смотреть ?
брекпоинт ставиш на newcanvas и все
пока у меня онпаинт и кустомдрав использовался ,брекпоинт срабатывал


 
Инна   (2009-10-30 14:10) [9]

ну мошт  онпаинт не создает, а кустомдрав полюбому


 
Инна   (2009-10-30 14:14) [10]

кстати к чему я все это
при выводе через канвас, используя Lineto и moveto у меня нагрузка на проц в 2-3 раза выше чем с чистым GDI


 
mdw ©   (2009-10-30 14:25) [11]


> кустомдрав

Это LVCustomDraw? Попробуйте убрать строчку Sender.Canvas;. Возможно она никчему.


 
Инна   (2009-10-30 14:33) [12]


> Это LVCustomDraw

да

function TForm1.MusicLVCustomDraw(Sender: PControl; DC: HDC;
 Stage: Cardinal; ItemIdx, SubItemIdx: Integer; const Rect: TRect;
 ItemState: TDrawState; var TextColor, BackColor: Integer): Cardinal;
begin
if (Stage<>CDDS_PREPAINT)and(Stage<>CDDS_ITEMPREPAINT) then begin
if qqq(DYN.list.ItemS[ItemIdx]^).Group then BackColor:=$00FCF4ED;
if qqq(DYN.list.ItemS[ItemIdx]^).Mask and 8 <> 0 then TextColor:=$00AD5A5A;
if qqq(DYN.list.ItemS[ItemIdx]^).Mask and 16 <> 0 then TextColor:=$004848E3;
if qqq(DYN.list.ItemS[ItemIdx]^).Mask and 4 <> 0 then TextColor:=clGreen;
end ;
result:=CDRF_NOTIFYITEMDRAW;  
end;


> Попробуйте убрать строчку Sender.Canvas

в где ее убрать ?
в понедельник попробую


 
mdw ©   (2009-10-30 14:49) [13]

KOL.pas
function WndProc_LVCustomDraw(..);


 
Игорь Шевченко ©   (2009-10-30 22:25) [14]

http://ln.com.ua/~openxs/articles/smart-questions-ru.html



Страницы: 1 вся ветка

Текущий архив: 2015.01.11;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.006 c
1-1329069169
Eraser
2012-02-12 21:52
2015.01.11
Форма в доп. потоке


11-1238844674
SPeller
2009-04-04 15:31
2015.01.11
MCK и D2009


15-1401983298
Павиа
2014-06-05 19:48
2015.01.11
Мыша сходит с ума.


15-1401913803
Юрий
2014-06-05 00:30
2015.01.11
С днем рождения ! 5 июня 2014 четверг


15-1402126202
Юрий
2014-06-07 11:30
2015.01.11
С днем рождения ! 7 июня 2014 суббота