高手,help(100分)

  • 主题发起人 主题发起人 szwgl
  • 开始时间 开始时间
S

szwgl

Unregistered / Unconfirmed
GUEST, unregistred user!
我有一个窗体,已经hide了,我如何确定他是否存在!
 
是自己程序的?只要看看这个窗体的实例是否存在就是了。

FindWindow应该也可以的。
 
就是这样了,
with tform(Formname) do
begin
........
end;

 
我发现可以按照两位仁兄这样实现,但是没有解决我的问题,
我实际的问题是这样
form1,form2
在form1中create form2,操作完成以后,
在form1中保存填写在FORM2上面的数据,
这时,如果FORM2 CLOSE 了,form1就
不能保存form2上面的数据了,我不希望
用户把我做的窗口拖来拖去的,我使用
了摸态,但是如果我hide了form2,结果
程序就死了,因为,我无法控制程序了!
多谢各位捧场!





 
利用form的showmodal返回值,根据返回值,执行相应的动作。
如:
if form2.showmodal=mrok then
....
else
...
用户直接关掉form2,返回mrcancel,把你需要的按钮的modalresult设为mrok,以上就可
正确执行。或者干脆不允许用户关form2,设一个cancel button,modalresult为mrcancel。
 
用assigned函数可以知道是否存在该实例。
form.close并没有释放掉,只是hide而已
 
>判断窗体是否存在:
if Assigned(Form2) then
begin
操作数据Form2
end

if Form2<>nil then
begin
操作数据Form2
end
>防止程序死掉,便用模态窗体
你可以拦截窗体移动消息,同样也可以防止人家拖动你的窗体
 
我在说一遍:问题是这样
在form1中(form1是模态运行):
tform1.btnaddclick(sender:object)
begin
applications.createform(tform2,form2);
form2.showmodal;
end;
form2中
tform2.btnCancelClick(sender:object);
begin
form2.hide;
end;

这时问题出现了,
我控制不了我的程序了,因为form2时模态创建的,焦点在他上面,而他
有被隐藏了!我该怎么办呢?天阿~!!
谢谢:daiqingbo,iknow,snake,程云,李崇文(我大学你有个同学,叫李崇春,你是
他吗?)
 
李崇文:
如何拦截窗口移动消息!
 
Cancel 按钮为什么要执行 Hide , Close 不是很好吗?用 Close 一切 OK 。
请给我一个要用 Hide 的理由。
 
Form如果只是Close了,
并没有删除内存中这个实例,
只是给隐藏,起来了,
可以真接访问,
只要在OnClose事件中写上" Action:= caFree;"这类语句。
 
在FormClose中写
Action := caHide;
ModalResult := mrCancel;
就不会把表单关闭了,只要程序没有退出,都可以直接访问Form2的数据的说。
 
每人都给我了很好的提示,但我分数不多,请笑纳!!!
 
多人接受答案了。
 
后退
顶部