快速搜索
[登录]
[注册]
飞诺网
电子书
在线试题
搜索
帮助
飞诺网社区-大型IT技术论坛社区
»
〓开发技术〓
»
编程语言
»
如何关闭当前窗口后打开另外一个窗口 - Delphi / Windows SDK/API
〓开发技术〓
Java
C/C++
.NET技术
PHP
数据库
web开发
编程语言
新手进阶
非技术区
〓网络技术〓
路由交换
网络协议
网络管理
无线网络
〓网络安全〓
入侵&嗅探
病毒&木马
防火墙
无线安全
加密解密
工具下载
〓操作系统〓
Linux/Unix
Windows
=专题=Fedora
=Back Track=
〓IT茶馆〓
交易市场
IT人生
有氧水吧
〓社区事务〓
论坛活动
BUG提交区
站务管理
奖品兑换区
飞诺会员签到大派送
★新手必读★
◆◇飞诺社区版主正在招募中!
论坛吐血大奖励 原创征文
◆『N币兑换图书活动』◆
著名杀毒软件之七种兵器-详评
抵制践踏GPL的QQ影音
金山毒霸被诉歧视消费者
青岛网偷第一案宣判10年
几款凶猛的病毒!
JAVA与.NET对垒,我们到底该选谁?
以下哪种木马最邪恶?
[Delphi]
如何关闭当前窗口后打开另外一个窗口 - Delphi / Windows SDK/API
[
1386
查看 /
13
回复 ]
返回列表
发送短消息
UID
19059
精华
1
N币
115
砖家分
0
12354315651
查看公共资料
搜索帖子
lele00400
今晚熬夜敲代码
组别
新进职员
性别
积分
130
帖子
11822
注册时间
2010-01-12
lele00400
2009-05-22 22:58
|
只看楼主
1
#
字体大小:
t
T
在一个按钮事件中,需要打开另外一个窗口,但打开另外一个窗口前,当前窗口需要关闭,请问如何做呢?
Close;
creat ChildWindow...
ShowChildWindow...
悬赏金额:
N币 20
悬赏的问题解决办法
TOP
发送短消息
UID
19043
精华
0
N币
80
砖家分
0
123465796
查看公共资料
搜索帖子
776944023
乱花飞舞_雪
组别
助理
性别
积分
80
帖子
11834
注册时间
2010-01-12
776944023
2009-05-22 23:08
|
只看该用户
2
#
字体大小:
t
T
在当前窗体的OnDestroy事件里面写一下试试看
TOP
发送短消息
UID
19138
精华
0
N币
80
砖家分
0
321555899654
查看公共资料
搜索帖子
mayset
王子爬房
组别
助理
性别
积分
80
帖子
12030
注册时间
2010-01-12
mayset
2009-05-22 23:18
|
只看该用户
3
#
字体大小:
t
T
form1隐藏,form2 显示就行了.主窗口按说关闭就会程序关闭 ,再说程序在运行没必要关闭.
TOP
发送短消息
UID
19059
精华
1
N币
115
砖家分
0
12354315651
查看公共资料
搜索帖子
lele00400
今晚熬夜敲代码
组别
新进职员
性别
积分
130
帖子
11822
注册时间
2010-01-12
lele00400
2009-05-23 01:29
|
只看楼主
4
#
字体大小:
t
T
为什么要关闭呢?因为,子窗口一个按钮事件中,需要creat open一个Form,而这个Form刚好就是上面提到的要关闭的Form,因为不关闭,子窗口反复点那个按钮,会出错,提示那个著名的地址什么冲突
TOP
发送短消息
UID
19088
精华
0
N币
80
砖家分
0
3154799624
查看公共资料
搜索帖子
JBOBSS
铁锅小胖子
组别
助理
性别
积分
80
帖子
11943
注册时间
2010-01-12
JBOBSS
2009-05-23 08:16
|
只看该用户
5
#
字体大小:
t
T
如果有个主窗口,而打开的窗口都在其中可以:
在这个按键上写:
ChildWindow:=TChildWindow.create(application);
ChildWindow.show;
self.close;
如果在当前窗口中事件中写
应该只能用Hide和show了
TOP
发送短消息
UID
19138
精华
0
N币
80
砖家分
0
321555899654
查看公共资料
搜索帖子
mayset
王子爬房
组别
助理
性别
积分
80
帖子
12030
注册时间
2010-01-12
mayset
2009-05-23 09:05
|
只看该用户
6
#
字体大小:
t
T
为什么要关闭呢?因为,子窗口一个按钮事件中,需要creat open一个Form,而这个Form刚好就是上面提到的要关闭的Form,
子窗口按钮事件恢复隐藏的form就可以了. 当然我是思路,换方式解决问题.
TOP
发送短消息
UID
19116
精华
0
N币
80
砖家分
0
312254776213
查看公共资料
搜索帖子
jiveotco
零担班车
组别
助理
性别
积分
80
帖子
12145
注册时间
2010-01-12
jiveotco
2009-05-23 09:45
|
只看该用户
7
#
字体大小:
t
T
截获WINDOWS的销毁消息,然后ShellExecute开启另一个程序,貌似这样做应该可以,直接写在OnClose或OnDestory事件里好象不行~~~~~~~~~
如果还不行,就用做个控制台程序,定时开启程序
TOP
发送短消息
UID
19055
精华
0
N币
85
砖家分
0
3156321563
查看公共资料
搜索帖子
jionter
嗲嗲滴哥
组别
助理
性别
积分
80
帖子
13463
注册时间
2010-01-12
jionter
2009-05-23 10:25
|
只看该用户
8
#
字体大小:
t
T
Hide和show
TOP
发送短消息
UID
19059
精华
1
N币
115
砖家分
0
12354315651
查看公共资料
搜索帖子
lele00400
今晚熬夜敲代码
组别
新进职员
性别
积分
130
帖子
11822
注册时间
2010-01-12
lele00400
2009-05-23 14:19
|
只看楼主
9
#
字体大小:
t
T
这两个窗口都是模态打开,所以那样处理比hide好
TOP
发送短消息
UID
19083
精华
0
N币
80
砖家分
0
315321654769
查看公共资料
搜索帖子
davaer
回味儿时。
组别
助理
性别
积分
80
帖子
11854
注册时间
2010-01-12
davaer
2009-05-23 14:36
|
只看该用户
10
#
字体大小:
t
T
试一下这样:
在你需要close的窗体里:
定义里加:
private
const
WM_JOINCLICK = WM_USER+2;
close事件里写:
PostMessage(FormMain.Handle,WM_JOINCLICK,0,StrToInt(self.RzEditAuctionNo.Text));
主窗体里加:
定义:
private
const
WM_JOINCLICK = WM_USER+2;
public
procedure WndProc(var message: TMessage); override;
加代码:
procedure TFormMain.WndProc(var message: TMessage);
begin
if message.Msg=WM_JOINCLICK then begin
创建你的新窗体
exit;
end;
inherited WndProc(message);
end;
你的问题可能是出在关闭与创建的顺序上,新窗体没建完,这个窗体又要关,所以出现内存错误,上面做的原因是:老窗体在关闭是给主窗体发个消息,表示我要关了。这个消息是异步的。主窗体收到这个消息再去创建新窗体就没问题了。
前一段我也是遇到这样的问题,所以才这样去解决。
TOP
发送短消息
UID
19018
精华
0
N币
80
砖家分
0
132465793
查看公共资料
搜索帖子
shenxue
哈哈哈哈哈
组别
经理
性别
积分
80
帖子
11787
注册时间
2010-01-12
shenxue
2009-05-23 20:32
|
只看该用户
11
#
字体大小:
t
T
晕,哪里用这么复杂。点击按钮时给主窗体发个消息,主窗体收到后创建不就可以了。
TOP
发送短消息
UID
19059
精华
1
N币
115
砖家分
0
12354315651
查看公共资料
搜索帖子
lele00400
今晚熬夜敲代码
组别
新进职员
性别
积分
130
帖子
11822
注册时间
2010-01-12
lele00400
2009-05-24 15:05
|
只看楼主
12
#
字体大小:
t
T
谢谢楼上各位大侠。
我原先考虑的是在主窗口建立一个变量,根据变量确定是否打开某窗口,这样太繁琐不规范,还是用消息规范。
另外,老鹰,请教,你是否用webbrowse做过界面?能否看一下效果?
TOP
发送短消息
UID
19083
精华
0
N币
80
砖家分
0
315321654769
查看公共资料
搜索帖子
davaer
回味儿时。
组别
助理
性别
积分
80
帖子
11854
注册时间
2010-01-12
davaer
2010-05-30 11:27
|
只看该用户
13
#
字体大小:
t
T
我以前做过,不过现在看不到效果了。两年前的事了。
但自认为对webbrowser还比较了解,有问题你尽管问了。
其实用webbrowser配合起来可以做很多东西。
TOP
返回列表
上一主题
|
下一主题
有BUG?不用再反复纠缠
建议版主过来封dBASEIII的ID,让大家看清个人的丑恶的
如何关闭当前窗口后打开另外一个窗口 - Delphi / Wind
小哈欠出生,平安健壮,哈欠在此散分还愿:)
去掉Delphi字符串中的空格?问题简单别闲凡。刚用delp
前些天不幸得了“贝尔麻痹”, 也叫面神经麻痹, 若干
没有找到rtl70.bpl,因此这个应用程序未能启动 - Delph
如何实现控制其它程序的窗体中的控件,如:TDBGridE的
关于用Delphi写的一个windows media player播放器的问
我们还需要新的编程语言么?
发新主题
飞诺社区版主正在招募中!
〓开发技术〓
Java
C/C++
.NET技术
PHP
数据库
web开发
编程语言
新手进阶
非技术区
〓网络技术〓
路由交换
网络协议
网络管理
无线网络
〓网络安全〓
入侵&嗅探
病毒&木马
防火墙
无线安全
加密解密
工具下载
〓操作系统〓
Linux/Unix
Windows
=专题=Fedora
=Back Track=
〓IT茶馆〓
交易市场
IT人生
有氧水吧
〓社区事务〓
论坛活动
BUG提交区
站务管理
奖品兑换区
非技术区
Windows
C/C++
非技术区
Linux/Unix
数据库
web开发
Sybase
.NET技术
帖子标题
博客日志
相册标题
作者
我的博客
我的资料