谁知道怎么样能把这次运行的操作在这次运行中清除(15分)

  • 主题发起人 主题发起人 elfgirl
  • 开始时间 开始时间
E

elfgirl

Unregistered / Unconfirmed
GUEST, unregistred user!
有没有命令clear(),将我这次运行对界面的改动清除,也就是恢复到刚刚运行时的状态,即
窗体上还是最初状态。我的问题是,我的程序运行后,通过我的操作会在窗体上出来几个新控件
我现在想通过点击某个按钮,能取消我做的操作,重新在来。我用refresh,update都不行。为什么
应该用什么命令,不会让我写程序一个个的删除吧
 
没有那样的命令,只能自己删除,或者隐藏。
 
哦,那我可倒霉了,太麻烦了
真的没有什么更好的方法了吗?
 
隐藏吧。
不过,您能不能说得再详细点,我觉得没有必要像你说的那样,要clear吧。
 
destrory不难吧,或者画一个和背景色一样颜色桌布
 
我编了一个程序,比如说我在第一次运行中,对界面进行操作,在窗体上建立了几个新控件,
并且它们之间连上了线,而且实现了控件的移动。我把这次运行的结果保存下来了,存为文件1
下次我再运行,对界面进行操作后,把这次新的操作保存为文件2。然后我想接着打开文件1
继续对文件1进行操作。但是问题是,我打开了文件1但是本次操作的结果仍在界面上。我如何
能把这次操作清除。不知道我说清楚了没有?
 
这次把问题说得差不多了。要是两次操作的控件相同,只是位置不同而已,那么你最后一次打开文件1
不应该再重新生成控件,应该把控件位置改变一下就可以了。
要是两次操作的控件不同的话,如果,此Form上所有的控件都记录在文件的话,那么重新生成一个Form
好了。
要是两次操作的控件不同的话,如果,此Form上所有的控件不都记录在文件的话,那只能将有记录的
移动位置,没有的生成就是了。
 
我两次的控件都是动态生成的,都不相同,位置也不同。但是如果我自动生成一个新窗体,
我这个新窗体上还应该有原来的东西,也就是刚刚运行时出来的界面,而不是一个空的窗体。
这样也很麻烦,每次都要生成新的,那要多少个呀。那个“destroy"怎么用呀,是不是整个
窗体都摧毁了,我想恢复到刚运行出来未操作的状态。
 
你是用new生成控件的吧,那就用delete删除吧
 
那我要编程序delete了,那我画的那些线条怎么办,不能delete的
 
是呀,本来就在编程。
线条可以用异或方式擦出就可以了
 
大家谁能帮个忙,我的程序想画个箭头,函数也有了。我将代码写入了原来的程序,箭头
出来了。但是在移动控件的时候,箭头总是莫名其妙的在窗体上留有一点痕迹,很难看的。
我怎么也不知道哪里写错了。哪位有兴趣看看我的程序,帮我找找原因。程序不复杂,有劳
各位了。
 
贴出来看
 
我的程序涉及到画线,在mousedown,mouseup,还有自己的函数。要不要给我个信箱,我把我的
程序发过去,你也可以运行一下看看我的问题和源代码。我怕这里贴不开。
 
BtnLine[k].StartPos.x = X + ((TBitBtn *)Sender)->Left;
BtnLine[k].StartPos.y = Y + ((TBitBtn *)Sender)->Top;
前两句代码是赋给起点坐标,其中x,y是鼠标移动的坐标。我将这两句改为下面的了:
BtnLine[k].StartPos.x = ((TBitBtn *)Sender)->Left+(((TBitBtn *)Sender)->Width)/2
BtnLine[k].StartPos.y = ((TBitBtn *)Sender)->Top+(((TBitBtn *)Sender)->Height)/2;
想实现这个点的坐标设为控件的中心,你们看看代码对吗
 
设置控件中心的代码基本对,只是要把宽度、高度设为偶数。
 
bcppbuilder,你好,你能抽出点空看看我的源程序吗?我移动控件时,箭头的移动总是留下
痕迹,我也不知道哪里错误了。我觉得你cppbuilder学的很好,可以帮我看看吗。我可以
用qq传过去或者是信箱的附件,可以帮我个忙吗?谢谢
 
elfgirl,别这样说,我只是用的时间长点而已,坛子里高手不少。发给我看看吧.
 
Image2->Canvas->Pen->Mode=clBlack;
Image2->Canvas->Brush->Color=clWhite;
Image2->Canvas->Rectangle(100,120,110,130);
为什么我的画刷是白色的,画出的矩形框仍是黑色的。我怎样才能得到填充色为白色的矩形
 
后退
顶部