你的例子我还没看,先着看看这个<br><br>procedure TForm1.Button1Click(Sender: TObject);<br>const<br> C_ARR_POINT: array[0..7, 0..1] of Integer = ((50,50),(80,50),(80,40),(90,54),(80,68),(80,58),(50,58),(50,50));<br>var<br> hWinDc: HDC;<br> ptArrPoint: array[0..7] of TPoint;<br> i: Integer;<br>begin<br> for i := Low(ptArrPoint) to High(ptArrPoint) do<br> begin<br> ptArrPoint.X := C_ARR_POINT[i, 0];<br> ptArrPoint.Y := C_ARR_POINT[i, 1];<br> end;<br> hWinDc := GetDC(Handle);<br> try<br> Polyline(hWinDc, PPointer(@ptArrPoint)^, i);<br> finally<br> ReleaseDC(Handle, hWinDc);<br> end;<br>end;<br>