如何知道用户按了右上角的关闭按纽? 不用OnCloseQuery和OnClose
我想在关闭按纽里添加OnClick 问题点数:20、回复次数:10Top
1 楼lurel(城市陌生人)回复于 2006-03-04 11:23:13 得分 5
在Close事件中写
if(Application->MessageBox("您是否退出本系统?","退出",MB_YESNO)==mrYes)
{
Action=caFree;
}
else
{
Action=caNone;
}Top
2 楼Z27149(卧底)回复于 2006-03-04 11:30:58 得分 0
看标题啊"不用OnCloseQuery和OnClose"Top
3 楼WaveYang(波光·弦影)回复于 2006-03-04 11:35:29 得分 5
为什么不能用OnClose 和 OnCloseQuery呢? 如果想区分关闭消息来源,加一点标志判断不行么?Top
4 楼DelphiGuy()回复于 2006-03-04 12:56:55 得分 0
捕捉WM_SYSCOMMAND消息。
Top
5 楼0delphi(睡个舒服觉)回复于 2006-03-04 13:07:49 得分 0
笨方法,自己一个标题栏,把窗体的自带的跟隐藏Top
6 楼0delphi(睡个舒服觉)回复于 2006-03-04 13:34:01 得分 0
void _fastcall TForm1::WndProc(TMessage& Message)
{
if (SC_CLOSE == Message.WParam )
{
ShowMessage("close");
return ;
}
else
{
TForm::WndProc(Message);
}
}Top
7 楼0delphi(睡个舒服觉)回复于 2006-03-04 13:37:15 得分 10
void _fastcall TForm1::WndProc(TMessage& Message)
{
if (SC_CLOSE == Message.WParam )
{
ShowMessage("close");
return ;
}
else
{
TForm::WndProc(Message);
}
}
这个方法跟OnCloseQuery和OnClose 本意上是一样的,都是接受到关闭消息之后,进行的处理函数.
如果楼主不想让 windows发送关闭消息的话,就只能自己做标题栏,和放一个按钮充当关闭按钮,然后处理 onclick事件Top
8 楼alloutoflove(andrew)回复于 2006-03-04 14:40:35 得分 0
有什么样的要求非要做得这么绝呢??? HOHOTop
9 楼Z27149(卧底)回复于 2006-03-04 14:42:11 得分 0
看来挺麻烦, 算了, 还是自己画吧Top
10 楼Z27149(卧底)回复于 2006-03-04 14:42:56 得分 0
谢谢各位, 有空帮忙看看这个:
http://community.csdn.net/Expert/topic/4583/4583006.xml?temp=.1004297Top




