无论点窗口上的【按钮】还是【右上角的叉】,能出现一个提示窗口,“是”-退出窗口,“否”-重新登录(调出登录窗口),“取消”-返回。 MessageBox能实现吗?还是要调用新窗口(我调用窗口,有些错误)? 如图一样。 有谁能给代码?谢谢了 热心网友:你好,我用你的代码,已经好了。但用在 procedure TMainForm.ToolButton8Click(Sender: TObject); 中“是”要点两下主窗口才关闭,是什么原因?
你可以在窗体的onClose事件中进行设计。 在里面先以定义一个退出标志,然后根据标志判断是否退出。 procedure TFrm_mz_sf_zdhj.FormClose(Sender: TObject; var Action: TCloseAction); var ExitFlag:Integer;//退出标志 begin ExitFlag:=Application.MessageBox('当前记录尚未保存,确认退出吗?','警告',Mb_YesNo) ; If ExitFlag=7 then//不退出 Begin //TCloseAction = (caNone, caHide, caFree, caMinimize); Action:=caNone; Exit; end else Begin self.close;//退出 End; end;
在窗口的OnCloseQuery里写下面的代码: procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin case Application.MessageBox('确定退出系统?','询问',35) of 6: begin ShowMessage('按了是,窗口关闭'); CanClose:=True; end; 7: begin ShowMessage('按了否,返回登陆窗口'); CanClose:=True; //这里写上你的登陆窗口调用代码 ShowMessage('登陆窗口出现了'); end; 2: begin ShowMessage('按了取消,窗口不关闭'); CanClose:=False; end; end; end;
|
请发表评论