Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi X-Button entfernen (https://www.delphipraxis.net/129095-x-button-entfernen.html)

Ykcim 12. Feb 2009 15:00


X-Button entfernen
 
Hallo,

wie kann man den X-Button aus den Forms entfernen, die Maximize und Minimeize Buttons aber erhalten?

Vielen Dank im Voraus

Ykcim

DeddyH 12. Feb 2009 15:06

Re: X-Button entfernen
 
Kurz und knapp: gar nicht.

Cyberbob 12. Feb 2009 15:12

Re: X-Button entfernen
 
Du kannst ihn aber deaktivieren:

Delphi-Quellcode:
var
  AppMenu: HMENU;
begin
  AppMenu:=GetSystemMenu({FormX.}Handle, False);

  // "ausschalten"
  EnableMenuItem(AppMenu, SC_CLOSE, MF_BYCOMMAND or MF_GRAYED);

  // "einschalten"
  EnableMenuItem(AppMenu, SC_CLOSE, MF_BYCOMMAND or MF_ENABLED);
end;

Ykcim 12. Feb 2009 15:35

Re: X-Button entfernen
 
Das war wirklich kurz und knapp - aber nicht schön... :-)

Warum will ich den weg haben?
Es müssen Daten gespeichert werden. Wenn nun der User das Form über den x-Buttopn schließt, weiß ich nicht, wie ich eine Prüfung vornehmen kann, ob die Daten gespeichert wurden und den User bei nicht gespeichert fragen, ob er doch speichern will...

Hast Du eine Idee?

@Cyberbob

Das wäre schon eine - ich versuche sie mal!

Danke

Ykcim

DeddyH 12. Feb 2009 15:37

Re: X-Button entfernen
 
Frag doch im OnCloseQuery nach, das wäre IMHO der bessere Weg, wie soll der Benutzer sonst das Formular schließen außer über ALT-F4?

Ykcim 12. Feb 2009 15:44

Re: X-Button entfernen
 
:wall:
Ich wollte einen "BEenden-Button" nutzen... auf das OnClose Ereignis bin ich nicht gekommen... :oops:

Danke, das ist die beste Variante, ach wenn Cyberbobs Möglichkeit auch sehr gut aussaht.


Vielen Dank für das Augen öffnen... :shock:

_frank_ 12. Feb 2009 17:53

Re: X-Button entfernen
 
noch eine "dirty" Variante:
du kannst natürlich auch alle Buttons wegmachen (BorderStyle=bsNone) und eine Titelleiste nachbilden mit den Buttons, die du möchtest :)
wird oft bei Anwendungen mit Skin-Engine gemacht...

Gruß Frank


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:07 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz