数学建模社区-数学中国

标题: Form->Canvas->TextOut与Label->Caption的区别 [打印本页]

作者: 小菜菜同学    时间: 2005-4-29 10:35
标题: Form->Canvas->TextOut与Label->Caption的区别
<>Form1-&gt;Canvas-&gt;TextOut与Label1-&gt;Caption在坐标上的区别</P>. L% P: d9 f* N2 @$ Z' ?  A" O4 o
<>前者在LEFT〈100,TOP〈100左右,时反映的不是真的坐标,不知道怎么回事?</P>3 V* f; o' ^: u+ V* B
<>如String str="";) O/ u9 m% y% h* |9 w9 [& |) s
str=str+"x="+IntToStr(X)+"  "+"y="+IntToStr(Y);' O) d' p: a& N9 ?. V& R
Form1-&gt;Canvas-&gt;TextOut(20,20,str);
8 F6 B5 S# C( l% p$ ^* t" ALabel1-&gt;Caption="x="+IntToStr(X)+"  "+"y="+IntToStr(Y);</P>! |. W9 l. |8 ~* Y$ p( m7 ^
<>两者LEFT〈100,TOP〈100左右,数值不一样。且若没有第四行,第二行写成str=str+"x="+X+"  "+"y="+Y;也可。不知道什么原因?</P>[em06][em06]5 ]2 e$ O$ x4 M- t& ]3 l/ [( p- G
[此贴子已经被作者于2005-4-29 10:36:51编辑过]

作者: ilikenba    时间: 2005-4-29 10:52
这里的变量X,Y是什么意思?
作者: 小菜菜同学    时间: 2005-4-29 11:01
呵呵,没写清楚,是鼠标的坐标。(MouseMove)
作者: ilikenba    时间: 2005-4-29 11:26
<>Note: TextOut does not erase the background before writing Text. To erase the background first, use the FillRect method.</P><>上面是TextOut的一个注释!意思是TextOut方法在写之前是不能自动清除背景的!为了清除需要使用FillRect方法!所以可以将代码改成:</P><>String str="";5 _: b0 }9 I$ \; G
str=str+"x="+IntToStr(X)+"  "+"y="+IntToStr(Y);
  s# f( d2 z# K( U% A* mForm1-&gt;Canvas-&gt;FillRect(Rect(0,0,100,100));. J  K! e: `* g, \. w. U9 i1 r( N
Form1-&gt;Canvas-&gt;TextOut(20,20,str);/ C$ v. Y( [6 F- x" b" C
Label1-&gt;Caption="x="+IntToStr(X)+"  "+"y="+IntToStr(Y);</P><>这样就没有问题了!</P>
作者: 小菜菜同学    时间: 2005-4-29 11:52
<>Form1-&gt;Canvas-&gt;FillRect(Rect(0,0,100,100));</P><>是清除(0,0),(100,100)的屏幕吗?</P>
作者: ilikenba    时间: 2005-4-29 11:59
对!我这里只是随便写的大小,你可以改一下!




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5