掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
クローズボックスをクリック→名前を付けて保存ダイアログを表示→キャンセルをクリックした時終了しないようにするには? (ID:7645)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
いいえ、Save, SaveAsのイベントはそれぞれ必要です。 閉じるときに、キャンセルされたら閉じない、という処理が必要なのですから。 Save, SaveAsではキャンセルされても問題ないと思いますが、閉じるときだけ必要になります。 保存用の関数を用意したほうが便利です。 以下がサンプルです。 # 動作チェックはしていません。間違いがあるかも。 function TForm1.FileSave(const AFileName: String): Boolean; var FileName: String; begin FileName := AFileName; // ファイル名が''であれば新規 if FileName = '' then begin if SaveDialog.Execute then begin FileName := SaveDialog.FileName; end; end else begin //キャンセルされた Result := False; Exit; end; //ファイルに保存する //****ここでファイル保存の記述をする**** //正常に終了 Result := True; end; FileSaveExecuteでは、ファイル名を引数にしてこの関数を呼ぶだけです。 FileSaveAsExecuteでは、''を引数にして呼びます。 FormCloseQueryでは、この関数を呼んだあと、戻り値を見てキャンセルされたら(Trueが返ってきたら)CanCloseをFalseにすれば閉じません。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.