使用extCreatePen的虚线未在Delphi中打印

使用extCreatePen的虚线未在Delphi中打印,delphi,line,Delphi,Line,我试图用用户定义的笔样式画一条线,但这条线打印得笔直。我用的是东京德尔福 var LLogBrush : tLogBrush; LUserstyle : array[0..3] of Double; begin LUserstyle[0]:= 8; LUserstyle[1]:= 4; LUserstyle[2]:= 8; LUserstyle[3]:= 4; LLogBrush.lbStyle := BS_Solid; LLogBrush.lbColor :

我试图用用户定义的笔样式画一条线,但这条线打印得笔直。我用的是东京德尔福

var
  LLogBrush : tLogBrush;
  LUserstyle : array[0..3] of Double;
begin

  LUserstyle[0]:= 8;
  LUserstyle[1]:= 4;
  LUserstyle[2]:= 8;
  LUserstyle[3]:= 4;

  LLogBrush.lbStyle := BS_Solid;
  LLogBrush.lbColor := Color;
  LLogBrush.lbHatch := 0;

  PaintBox1.Canvas.Pen.Handle := ExtCreatePen(PS_GEOMETRIC or PS_USERSTYLE,
                    2, LLogBrush, 4, @LUserstyle);

  PaintBox1.Canvas.MoveTo(10,10);
  PaintBox1.Canvas.LineTo(100,100);
end;

我做错什么了吗?

是的,你做错了;)
LUserStyle
数组应该是DWORD的
数组,而不是
Double
的数组。有人投票否决了这个问题,但没有留下任何评论。我看不出有任何理由投反对票。它的措辞清晰,包含了一个最小的,完整的,可验证的例子,并表明他自己做了一些研究。那为什么被否决了呢?非常感谢汤姆!