📄 dpi8.htm
字号:
<html>
<head>
<title>划出的线哪去了</title>
</head>
<p align="center"><script src="../../1.js"></script></a>
<body bgcolor="#ffffff" text="#004D99" link="#0000EE" vlink="#551A8B" alink="#FF0000" marginwidth="5" marginheight="5" cellpadding="0" cellspacing="0" leftmargin="5" topmargin="1">
<div align=center>
<table border=0 cellpadding=0 cellspacing=0 width=680 align="center">
<tbody>
<tr>
</tr>
</tbody>
</table>
<table border=1 bordercolordark=#ffffff bordercolorlight=#ffffff cellpadding=0
cellspacing=0 width=680 align="center">
<tbody>
<tr>
<td bgcolor=#ffffff height=15>
<div align=center class=H1> <big>划出的线哪去了</big></font></div>
</td>
</tr>
<tr valign=top>
<td class=H1 height=440>
<p class=H1><br>
</p>
<p class=H1> 前几日在用Delphi编程时,写了这样一段程序,如下: <br>
procedure TForm1.FormCreate(Sender: TObject);<br>
begin<br>
Canvas.MoveTo(10,10);<br>
Canvas.LineTo(100,100);<br>
end;<br>
运行以后,一切正常,没有任何出错信息。可就是没见线出来。怎么会呢?后来,经过翻阅一些资料和几天下来的实践,我终于找到了病根所在,
原来, Form 的 Canvas 不会自动重绘,我们可以编个小程序来验证一下,建立一个按钮,把上述程序写入它的OnClick事件中,
执行时用鼠标点它一下, 好了, 线段画出来了, 这时候将窗口最小化,再还原为原大小,如何, 线段不见了!其实,解决的方法是只要把它写在OnPaint事件中就可以了,如下:<br>
procedure TForm1.FormPaint(Sender: TObject);<br>
begin<br>
Canvas.MoveTo(10,10);<br>
Canvas.LineTo(100,100);<br>
end;<br>
另外,在划线时,我们还应该注意划线的位置是不是被其他的控件挡住,划线时,Canvas.Pen的各项属性是否正确,如画笔的色彩不要与背景色相同等等,像下列的程序,
视觉上就看不到这条线。<br>
procedure <br>
TForm1.Button1Click(Sender: TObject);<br>
begin<br>
Form1.Canvas.Pen.Style := psClear;<br>
Form1.Canvas.MoveTo(0, 0);<br>
Form1.Canvas.LineTo(10, 10);<br>
end;<br>
总之,在我们编程的过程中,类似的错误可能还有很多,因此,都需要对每一个程序进行反复的调试和运行,才能达到最理想的效果。
(上海市杨浦区国和二村83号402室 严晓博 200438)
<b></b></p>
<p> <br>
<font
color=#ffa000> <b>
</td>
</tr>
</tbody>
</table>
</div>
<p align="center"><script src="../../2.js"></script></a>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -