如何画虚线(暨如何自己设置虚线格式)(175分)

J

jumboo

Unregistered / Unconfirmed
GUEST, unregistred user!
delphi 自己提供的虚线格式太难看

我想自己定义虚线格式 比如说2个点构成线后空3个点 以此类推

望诸位不吝赐教
 
不太明白,delphi自己提供的虚线在哪儿?
 
呃,好象canvas的线条属性是delphi已经规定了的,想改可能只有用API了.
 
哦,我明白了。那可能只有自己画了,用Canvas.Lineto()
 
自己写一个画线函数……
『虚线是由一系列的点或线组成的,我以前用VC++画过,效果不错……』
 
默认只能是一点宽的时候,才能虚。

你的这种情况,应该自己实现。
 
要注意性能
 
提前一下 看有没有更好的答案
 
用ExtCreatePen建立一个GEOMETRIC 的pen, 这样画出来的线型可以由图片构成。 简单的自定义线型可以用ExtCreatePen的PS_USERSTYLE加一个线型图样数组来完成.
要使用的话也很简单:
VAR
Pen, Old: HPEN;
begin
Pen := ExtCreatePen(....);
Old := SelectObject(Canvas.Handle, Pen);
Canvas.MoveTo(0, 0);
Canvas.LineTo(50, 50);
DeleteObject(SelectObject(Canvas.Handle, Old));
 
多人接受答案了。
 
顶部