Вниз
Скачать: 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.984 c
1-11158
VaS
2002-10-23 21:06
2002.11.04
string в record


1-11164
basic
2002-10-24 10:27
2002.11.04
Должен ли Click отрабатываться в tRadioGroup


3-11053
vasily5000
2002-10-14 08:06
2002.11.04
Не могу заставить работать одновременно IBase и CGI.


14-11450
AL2002
2002-10-15 20:36
2002.11.04
500 рублей — это сколько в $$$?


1-11227
Semion
2002-10-25 08:33
2002.11.04
Чтение и запись в файл




   Наверх