【20100115-01】WinAPI: CreatePen - 建立画笔(转)
来源:http://www.cnblogs.com/del/archive/2008/02/10/1066516.html
//声明:
CreatePen(
Style, Width: Integer; {样式与笔宽}
Color: COLORREF {颜色}
): HPEN; {返回笔句柄}
//Style 参数可选值:
PS_SOLID = 0; {实线}
PS_DASH = 1; {段线; 要求笔宽<=1}
PS_DOT = 2; {点线; 要求笔宽<=1}
PS_DASHDOT = 3; {线、点; 要求笔宽<=1}
PS_DASHDOTDOT = 4; {线、点、点; 要求笔宽<=1}
PS_NULL = 5; {不可见}
PS_INSIDEFRAME = 6; {实线; 但笔宽是向里扩展}
// PS_SOLID 与 PS_INSIDEFRAME 的区别
1 //==================
8 //.NET如何:绘制自定义虚线
9 /*
10 若要绘制自定义虚线,请将短划线和间距的长度放在一个数组中,并将该数组指定为 Pen 对象的 DashPattern 属性的值。下面的示例绘制了一条基于 {5, 2, 15, 4} 数组的自定义的虚线。如果将数组元素乘以钢笔的宽度 5,可得到 {25, 10, 75, 20}。显示的短划线的长度在 25 和 75 之间交替,间距的长度在 10 和 20 之间交替
11 */
12
13 float[] dashValues = { 5, 2, 15, 4 };
14 Pen blackPen = new Pen(Color.Black, 5);
15 blackPen.DashPattern = dashValues;
16 e.Graphics.DrawLine(blackPen, new Point(5, 5), new Point(405, 5));
17
18 //问个问题
19 //C#中默认虚线样式与Windows API样式值相同时候为何显示效果不同?//如何使之相同 高人赐教
20
21
22
23
24
25