var
Initialized: boolean = false;
// Индексы свойств (чтобы не искать при каждой перерисовке)
PropWidth,
PropHeight,
PropText,
PropHint: integer;
procedure Init(PRec:PParamRec; var ed:pointer; DTools:PDrawTools); cdecl;
function SearchIndex(const name:string):integer;
begin
result := 0;
while lowercase(PRec^[result].name) <> lowercase(name) do
inc(result);
end;
begin
if Initialized then exit;
PropWidth := SearchIndex('Width');
PropHeight := SearchIndex('Height');
PropText := SearchIndex('Text');
PropHint := SearchIndex('Hint');
Initialized := true;
end;
procedure Draw(PRec:PParamRec; ed:pointer; dc:HDC); cdecl;
var C: PCanvas;
R: TRect;
Width, Height: integer;
Text, Hint : string;
begin
Width := integer(PRec[PropWidth].Value^);
Height := integer(PRec[PropHeight].Value^);
Text := string(PRec[PropText].Value^);
Hint := string(PRec[PropHint].Value^);
C := NewCanvas(dc);
SetRect(R, 4, 2, Width - 8, Height - 4);
with C^ do
begin
.....
Ответов: 4631
Рейтинг: 749
|
|||
Если речь идёт об draw dll, то в пакете Android делал так:
|
|||
карма: 26 |
|
Редактировалось 2 раз(а), последний 2021-11-12 15:05:55