📄 00000000.htm
字号:
<HTML><HEAD> <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人: heiheihei (嘿嘿嘿), 信区: BCB <BR>标 题: Form上被覆盖的东西如何重新paint? <BR>发信站: BBS 水木清华站 (Tue Nov 3 10:31:08 1998) WWW-POST <BR> <BR>
<BR>初始化时,Image1->Visible=false,Image1的位置为(100,100,300,300),
<BR>
<BR>运行中
<BR>Button1Click()
<BR>{
<BR>Form1->Canvas->TextOut(100,100,"I Love BCB");
<BR>}
<BR>
<BR>Button2Click()
<BR>{
<BR>Image1->Visible=true;//覆盖掉了文本"I Love BCB"
<BR>}
<BR>
<BR>Button3->Click()
<BR>{
<BR>Image1->Visible=false;//canvas上什么都没有了, 怎么恢复刚才的文本?
<BR>} <BR>-- <BR> /// /// ////// //// /// /// ////// //// /// /// ////// //// <BR> // // // // // // // // // // // // <BR> ////// ////// // ////// ////// // ////// ////// // <BR> // // // // // // // // // // // // <BR>/// ///////// //// /// ///////// //// /// ///////// //// <BR> <BR> <BR>※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 202.112.83.183] <BR>发信人: tq (天天), 信区: BCB <BR>标 题: Re: Form上被覆盖的东西如何重新paint? <BR>发信站: BBS 水木清华站 (Tue Nov 3 12:54:20 1998) <BR> <BR> <BR>TextOut()好象没有自刷新的功能, <BR> <BR>【 在 heiheihei (嘿嘿嘿) 的大作中提到: 】 <BR>∶<I> </I><BR>∶<I> 初始化时,Image1->Visible=false,Image1的位置为(100,100,300,300), </I><BR>∶<I> </I><BR>∶<I> 运行中 </I><BR>∶<I> Button1Click() </I><BR>∶<I> { </I><BR>∶<I> Form1->Canvas->TextOut(100,100,"I Love BCB"); </I><BR>∶<I> } </I><BR>∶<I> </I><BR>∶<I> Button2Click() </I><BR>∶<I> { </I><BR>∶<I> Image1->Visible=true;//覆盖掉了文本"I Love BCB" </I><BR>∶<I> } </I><BR>∶<I> </I><BR>∶<I> Button3->Click() </I><BR>∶<I> { </I><BR>∶<I> Image1->Visible=false;//canvas上什么都没有了, 怎么恢复刚才的文本? </I><BR>∶<I> } </I><BR> <BR> <BR>-- <BR>-------- <BR>TTTTTTTTTTTTTTTT <BR>QQQQQQQQQQQQQQQQ <BR>此情可待成追忆,只是当时已惘然。 <BR>TTTTTTTTTTTTTTTT <BR>QQQQQQQQQQQQQQQQ <BR> <BR>※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 159.226.115.65] <BR>发信人: xinhe (心鹤), 信区: BCB <BR>标 题: Re: Form上被覆盖的东西如何重新paint? <BR>发信站: BBS 水木清华站 (Tue Nov 3 13:45:22 1998) WWW-POST <BR> <BR>【 在 heiheihei (嘿嘿嘿) 的大作中提到: 】
<BR>
<BR> 编程方法有问题,Form的显示应该用它的OnPaint事件来实现,否则的话
<BR> 就只能在覆盖的时候自己保存被覆盖的部分,或干脆用另一个Image算了
<BR>
<BR>∶<I>
</I><BR>∶<I> 初始化时,Image1->Visible=false,Image1的位置为(100,100,300,300),
</I><BR>∶<I>
</I><BR>∶<I> 运行中
</I><BR>∶<I> Button1Click()
</I><BR>∶<I> {
</I><BR>∶<I> Form1->Canvas->TextOut(100,100,"I Love BCB");
</I><BR>∶<I> }
</I><BR>∶<I>
</I><BR>∶<I> Button2Click()
</I><BR>∶<I> {
</I><BR>∶<I> Image1->Visible=true;//覆盖掉了文本"I Love BCB"
</I><BR>∶<I> }
</I><BR>∶<I>
</I><BR>∶<I> Button3->Click()
</I><BR>∶<I> {
</I><BR>∶<I> Image1->Visible=false;//canvas上什么都没有了, 怎么恢复刚才的文本?
</I><BR>∶<I> }
</I><BR> <BR> <BR>-- <BR>※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 202.112.26.222] <BR>发信人: jy (Goldren), 信区: BCB <BR>标 题: Re: Form上被覆盖的东西如何重新paint? <BR>发信站: BBS 水木清华站 (Thu Nov 5 16:52:40 1998) <BR> <BR>【 在 heiheihei (嘿嘿嘿) 的大作中提到: 】 <BR>∶<I> </I><BR>∶<I> 初始化时,Image1->Visible=false,Image1的位置为(100,100,300,300), </I><BR>∶<I> </I><BR>∶<I> 运行中 </I><BR>∶<I> Button1Click() </I><BR>∶<I> { </I><BR>∶<I> Form1->Canvas->TextOut(100,100,"I Love BCB"); </I><BR>∶<I> } </I><BR>∶<I> </I><BR>∶<I> Button2Click() </I><BR>∶<I> { </I><BR>∶<I> Image1->Visible=true;//覆盖掉了文本"I Love BCB" </I><BR>∶<I> } </I><BR>∶<I> </I><BR>∶<I> Button3->Click() </I><BR>∶<I> { </I><BR>∶<I> Image1->Visible=false;//canvas上什么都没有了, 怎么恢复刚才的文本? </I><BR>∶<I> } </I><BR> <BR> <BR> ------Just try use the mothed named repaint. <BR> <BR>-- <BR>※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 202.38.230.33] <BR>发信人: tq (天天), 信区: BCB <BR>标 题: Re: Form上被覆盖的东西如何重新paint? <BR>发信站: BBS 水木清华站 (Thu Nov 5 20:08:52 1998) <BR> <BR>我试了,没有用。 <BR> <BR>【 在 jy (Goldren) 的大作中提到: 】 <BR>∶<I> ------Just try use the mothed named repaint. </I><BR> <BR> <BR>-- <BR>-------- <BR>TTTTTTTTTTTTTTTT <BR>QQQQQQQQQQQQQQQQ <BR>此情可待成追忆,只是当时已惘然。 <BR>TTTTTTTTTTTTTTTT <BR>QQQQQQQQQQQQQQQQ <BR> <BR>※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 159.226.115.65] <BR>发信人: FlyingBoy (小飞侠), 信区: BCB <BR>标 题: Re: Form上被覆盖的东西如何重新paint? <BR>发信站: BBS 水木清华站 (Fri Nov 6 09:37:03 1998) <BR> <BR>【 在 tq (天天) 的大作中提到: 】 <BR>∶<I> 我试了,没有用。 </I><BR> <BR>用refresh() <BR>-- <BR> 诚意 正心 格物 致知 修身 齐家 治国 平天下 <BR> <BR>※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 166.111.5.138] <BR>发信人: xinhe (心鹤), 信区: BCB <BR>标 题: Re: Form上被覆盖的东西如何重新paint? <BR>发信站: BBS 水木清华站 (Mon Nov 9 13:31:00 1998) WWW-POST <BR> <BR>【 在 jy (Goldren) 的大作中提到: 】
<BR>∶<I> ------Just try use the mothed named repaint.
</I><BR>
<BR> BCB里的Canvas和Windows SDK编程里的HDC一样,只是表示了屏幕上的某
<BR> 一个区域,而并不负责保存窗口里的内容,所以窗口的刷新应该由自己控
<BR> 制,也就是响应WM_PAINT消息,即BCB里的OnPaint事件。
<BR>
<BR>void __fastcall TForm1::FormPaint(TObject *Sender)
<BR>{
<BR> Canvas->TextOut(0,0,"I Love BCB");
<BR>}
<BR>//---------------------------------------------------------------------------
<BR> <BR>
<BR>void __fastcall TForm1::SpeedButton1Click(TObject *Sender)
<BR>{
<BR> Panel1->Visible=true;
<BR>
<BR>}
<BR>//---------------------------------------------------------------------------
<BR> <BR>
<BR>void __fastcall TForm1::SpeedButton2Click(TObject *Sender)
<BR>{
<BR> Panel1->Visible=false;
<BR>}
<BR>
<BR>
<BR> 另外一种方法就是显示“I Love BCB”里也用一个Image控件,因为Image本身
<BR> 包含了TBitmap对象,可以保存图像信息,所以也可以完成同样的功能。
<BR>
<BR>void __fastcall TForm1::SpeedButton1Click(TObject *Sender)
<BR>{
<BR> Panel1->Visible=true;
<BR>
<BR>}
<BR>//---------------------------------------------------------------------------
<BR> <BR>
<BR>void __fastcall TForm1::SpeedButton2Click(TObject *Sender)
<BR>{
<BR> Panel1->Visible=false;
<BR>}
<BR>//---------------------------------------------------------------------------
<BR> <BR>void __fastcall TForm1::SpeedButton3Click(TObject *Sender)
<BR>{
<BR> Image1->Picture->Bitmap->Width=Image1->Width;
<BR> Image1->Picture->Bitmap->Height=Image1->Height;
<BR> Image1->Picture->Bitmap->Canvas->TextOut(0,0,"I Love BCB");
<BR>}
<BR>
<BR> <BR> <BR>-- <BR>※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 202.130.249.114] <BR><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -