数学建模社区-数学中国

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

作者: 小菜菜同学    时间: 2005-4-29 10:35
标题: Form->Canvas->TextOut与Label->Caption的区别
<>Form1-&gt;Canvas-&gt;TextOut与Label1-&gt;Caption在坐标上的区别</P>1 h  h7 Y  }! ?/ c& T7 @
<>前者在LEFT〈100,TOP〈100左右,时反映的不是真的坐标,不知道怎么回事?</P>
$ l9 x% M# B1 f  S! U+ i<>如String str="";
5 U" m% y0 D; r8 R6 g, M7 Cstr=str+"x="+IntToStr(X)+"  "+"y="+IntToStr(Y);
' O! a' `7 W# }  ~. \; M9 O, sForm1-&gt;Canvas-&gt;TextOut(20,20,str);9 d- l3 [7 H, z! J/ V' N5 Q
Label1-&gt;Caption="x="+IntToStr(X)+"  "+"y="+IntToStr(Y);</P>
# r7 B' t$ @& o; @4 U" O' I+ Q<>两者LEFT〈100,TOP〈100左右,数值不一样。且若没有第四行,第二行写成str=str+"x="+X+"  "+"y="+Y;也可。不知道什么原因?</P>[em06][em06]
! {$ B! E4 a! d
[此贴子已经被作者于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="";
! H- F1 D- h+ H; Kstr=str+"x="+IntToStr(X)+"  "+"y="+IntToStr(Y);
( Y6 R( d7 f3 e! H& |$ _Form1-&gt;Canvas-&gt;FillRect(Rect(0,0,100,100));
* |( L& `3 [* AForm1-&gt;Canvas-&gt;TextOut(20,20,str);
9 k: A; R3 V% R3 b9 r# h5 b7 I5 nLabel1-&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