DXベルリンでVCLスタイルの[閉じる]ボタンを無効にしたいと思います。Delphi - VCLスタイルの[閉じる]ボタンを無効にする
WyこのコードはVCLスタイルでは機能しませんか?あなたはcaNone
からFormClose
イベントでアクションを設定した場合
EnableMenuItem(GetSystemMenu(Form3.Handle, LongBool(False)),SC_CLOSE, MF_BYCOMMAND or MF_GRAYED);
DXベルリンでVCLスタイルの[閉じる]ボタンを無効にしたいと思います。Delphi - VCLスタイルの[閉じる]ボタンを無効にする
WyこのコードはVCLスタイルでは機能しませんか?あなたはcaNone
からFormClose
イベントでアクションを設定した場合
EnableMenuItem(GetSystemMenu(Form3.Handle, LongBool(False)),SC_CLOSE, MF_BYCOMMAND or MF_GRAYED);
、あなたは何が起こるだろうされていない(赤い十字をクリック)フォームを閉じるようにしてください。このようにして、ボタンを無効にすることができます。
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
//You cannot type only caNone, otherwise you'll get a compiler error
Action := TCloseAction.caNone;
end;
caNoneはSystem.UITypes
です。詳細については、documentationをお読みください。
[OK]を、しかし私は私のフォームを閉じることができますか?プログラムから出る?私がAction:= TCloseAction.caNoneを使用すると、完璧ですが、アプリを終了することはできません。 –
@JuniorOliveiraフォームでは、プライベートブール値を宣言します。 'AllowToClose'を設定し、フォーム' OnClose'イベントを 'AllowToClose then Action:= TCloseAction.caNone;'に変更します。 .Close'。 –
OK。どうもありがとう。 –
デフォルトでVCLスタイルを使用する場合は、使用するフォントの外観、フォームのクライアント領域、フォーム境界に影響します(最小化、最大化、閉じるボタンも含まれます)。
は、だから私が見るものから次の2つのオプションがあります:あなたはそのスタイルを意味[seFont, seClient]
にフォームのStyleElements
プロパティを変更することができ
OK。どうもありがとう。 –
あなたはスタイルエンジンのバグに遭ったようですか?上のように 'SC_CLOSE'を無効にすると、スタイルのないアプリケーションでさえも** Alt-F4は無効にならないことに注意してください。 –
@Tom Delphi 10 Seattleでは、期待どおりに動作するようです。 10.1ベルリンをまだ試していない。 –
@ジェリー期待どおりに動作しますか? Alt-F4に関するOPの問題やコメントを参照してください。私はシアトルとベルリンの両方でテストしました –