Вверх ↑
Ответов: 4628
Рейтинг: 749
#1: 2013-03-21 12:24:56 ЛС | профиль | цитата
flash1103, как бы не хотелось, но выше головы не прыгнешь. Библиотеки в папке Draw предназначены исключительно для отрисовки компонента в редакторе формы. Для этого им дается возможность получить значения свойств текущего компонента (возможно, изменить в процедуре Change) и в соответствии с ними нарисовать компонент на DC. Больше ничего.
flash1103 писал(а):
(ed)-указатель на структуру в которой фигурирует bmp
Это указатель на что тебе угодно. Устанавливается в процедуре Init.
flash1103 писал(а):
что отсутствуют структуры канвы

Методы канвы можно использовать так:

#pas
procedure Draw(PRec:PParamRec; ed:pointer; dc:HDC); cdecl;
var C: PCanvas;
R: TRect;
Width, Height: integer;
begin
// PropXXXX - переменные, содержащие индексы свойств
Width := integer(PRec[PropWidth].Value^);
Height := integer(PRec[PropHeight].Value^);

C := NewCanvas(dc);
SetRect(R, 4, 2, Width - 8, Height - 4);
with C^ do
begin
Pen.Color := $2894ff;
Pen.PenWidth := 2;
Brush.Color := clWhite;
RoundRect (0, 0, Width, Height, 6, 6);
end;
C.Free;
end;
карма: 26

0