Вниз
Скачать: CL | DM;

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

← →
[lamer]Barmaglot ©   (2002-09-23 09:17) [0]

В WinAPI под Win 98-2000 есть такая команда, Мастера подскажите как ей пользоваться(желательно с примером), а то кроме названия нигде ничего найти не удалось...


← →
MBo ©   (2002-09-23 10:15) [1]

Описание есть в MSDN, даже с примером.

ОДНАКО!!!!
Структура TTriVertex содержит поля типа Сolor16, а в Windows.pas
этот тип почему-то описан как ShortInt - очевидно, баг позорный.

Придется делать так:
1) Переопределяем тип:
type
TRIVERTEXNew = packed record
X:Integer;
Y:Integer;
R,G,B,Alpha: SmallInt;
end;
2) переимпортируем функцию

function GradientFill(DC:hDC; pVertex : Pointer; dwNumVertex : DWORD;
pMesh : Pointer; dwNumMesh, dwMode: DWORD) : DWord; stdcall;
external "msimg32.dll";


procedure TForm1.Button1Click(Sender: TObject);
var v:array [0..1] of TrivertexNew;
m:array[0..1] of integer;
begin
FillChar(v,SizeOf(TriVertexNew)*2,0);
v[1].x:= 100;
v[1].y:= 100;
v[1].B:= $7FFF;
v[0].R:=$7FFF;
v[0].G:=$7FFF;
m[0]:=0;
m[1]:=1;
Gradientfill(image1.canvas.handle,@v,2,@m,1,Gradient_Fill_Rect_H);
end;


← →
[lamer]Barmaglot ©   (2002-09-23 10:22) [2]

Большое спасибо, а то с этой функцией вообще запутался... Пойду пробовать.


← →
MBo ©   (2002-09-23 12:49) [3]

Service Pack :)

type
TRIVERTEXNew = packed record
X,Y:Integer;
R,G,B,Alpha: Word;
end;

Можно избавиться от реимпорта GradientFill ради изменения объявления, вызывая ее так

Gradientfill(image1.canvas.handle, PTriVertex(@v)^, 2,@m, 1,Gradient_Fill_Rect_H);


← →
REA   (2002-09-23 13:46) [4]

Точно баг. Я это тоже фиксил и в Борланд писал - не хотят исправлять.



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.011 c
4-11563
Alexander
2002-09-18 22:49
2002.11.04
Никто не встречал исходники драйвера принтера на Delphi?


6-11369
tararasyk
2002-09-05 13:26
2002.11.04
Уничтожить ClientSocket, конструктор Create(), метод Free()


6-11378
Beglec
2002-08-23 08:57
2002.11.04
Техническое задание. По сети/интернет


3-11045
Inan61
2002-10-14 16:28
2002.11.04
RxDBGrid1TitleClick и RxDBGrid1TitleBtnClick


1-11144
QUE
2002-10-24 12:25
2002.11.04
Надпись на MDIForm




   Наверх