Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.11.04;
Скачать: [xml.tar.bz2];

Вниз

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 вся ветка

Форум: "WinAPI";
Текущий архив: 2002.11.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.009 c
14-11387
Ш-К
2002-10-16 20:28
2002.11.04
Как найти производную функции, заданной параметрически?


14-11475
Ketmar
2002-10-15 18:28
2002.11.04
господа, напомните, где живет DMFC?


3-11060
dma
2002-10-14 20:46
2002.11.04
Проблемы с датами


1-11148
DeMoN-777
2002-10-22 17:22
2002.11.04
Как скинсэйвер


1-11238
Dankin
2002-10-25 02:37
2002.11.04
Подскажите плз. Как подкрасить числа на календаре, несколько штук





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский