Form->Canvas->TextOut与Label->Caption的区别
<P>Form1->Canvas->TextOut与Label1->Caption在坐标上的区别</P><P>前者在LEFT〈100,TOP〈100左右,时反映的不是真的坐标,不知道怎么回事?</P>
<P>如String str="";
str=str+"x="+IntToStr(X)+" "+"y="+IntToStr(Y);
Form1->Canvas->TextOut(20,20,str);
Label1->Caption="x="+IntToStr(X)+" "+"y="+IntToStr(Y);</P>
<P>两者LEFT〈100,TOP〈100左右,数值不一样。且若没有第四行,第二行写成str=str+"x="+X+" "+"y="+Y;也可。不知道什么原因?</P>
[此贴子已经被作者于2005-4-29 10:36:51编辑过] 这里的变量X,Y是什么意思? 呵呵,没写清楚,是鼠标的坐标。(MouseMove) <P>Note: TextOut does not erase the background before writing Text. To erase the background first, use the FillRect method.</P><P>上面是TextOut的一个注释!意思是TextOut方法在写之前是不能自动清除背景的!为了清除需要使用FillRect方法!所以可以将代码改成:</P><P>String str="";
str=str+"x="+IntToStr(X)+" "+"y="+IntToStr(Y);
Form1->Canvas->FillRect(Rect(0,0,100,100));
Form1->Canvas->TextOut(20,20,str);
Label1->Caption="x="+IntToStr(X)+" "+"y="+IntToStr(Y);</P><P>这样就没有问题了!</P> <P>Form1->Canvas->FillRect(Rect(0,0,100,100));</P><P>是清除(0,0),(100,100)的屏幕吗?</P> 对!我这里只是随便写的大小,你可以改一下!
页:
[1]