我用的是 Delphi 2007 所以没有 Borland 定义 -128-127没定义成 Word 的 Bug
所以我直接调用 PTriVertex
代码如下:var
pt : array[0..1] of PTriVertex;
gr : GRADIENT_RECT;
begin
pt[0].x := 0;
pt[0].y := 0;
pt[0].Red := 0;
pt[0].Green := 56;
pt[0].Blue :=0;
pt[0].Alpha := 0; pt[1].x := 100;
pt[1].y := 100;
pt[1].Red :=0;
pt[1].Green :=0;
pt[1].Blue := 87;
pt[1].Alpha := 0; gr.UpperLeft := 0;
gr.LowerRight := 1;
Windows.GradientFill(Self.Canvas.Handle,pt[0],2,@gr,1,GRADIENT_FILL_RECT_H);
end;可总是不能运行,报地址写入错误,这怎么整啊?
所以我直接调用 PTriVertex
代码如下:var
pt : array[0..1] of PTriVertex;
gr : GRADIENT_RECT;
begin
pt[0].x := 0;
pt[0].y := 0;
pt[0].Red := 0;
pt[0].Green := 56;
pt[0].Blue :=0;
pt[0].Alpha := 0; pt[1].x := 100;
pt[1].y := 100;
pt[1].Red :=0;
pt[1].Green :=0;
pt[1].Blue := 87;
pt[1].Alpha := 0; gr.UpperLeft := 0;
gr.LowerRight := 1;
Windows.GradientFill(Self.Canvas.Handle,pt[0],2,@gr,1,GRADIENT_FILL_RECT_H);
end;可总是不能运行,报地址写入错误,这怎么整啊?
有现成的,干吗不用?
GradientFillCanvasThe GradientFill API is not supported on NT4Example:
GradientFillCanvas(Canvas, clLime, clRed, FRect, gdHorizontal)