![]() |
"X" Knopf in der Titel-Leiste deaktivieren
Hallo.
Ich würde gerne den "X" Knopf in der Titel-Leiste meines Fenster deaktivieren, so dass er grau dargstellt wird und der Benutzer weiß, dass diese Funktion jetzt nicht verfügbar ist. Natürlich kann ich den Knopf indirekt deaktivieren indem ich das Schließen des Fensterns im OnCloseQuerry Event abfange. Aber dann sieht es eher so aus, also ob der Knopf nich das tut, was er eigentlich soll. Wenn ich dagegen TForm.BorderIcons.biSystemMenu auf FALSE setzte, is der "X" Knopf ganz verschwunden. Das wäre soweit kein Problem, wenn damit nich auch das Fenster-Symbol verschwunden wäre. Ich bin mir sicher das sich schon mal ein Programm gesehen habe, wo der "X" knopf zwar da war, aber grau, so dass er sich gar nicht erst drücken ließ. Wäre nett wenn mir jemand sagen könnte, wie man das macht... Danke schon mal! :-D |
Re: "X" Knopf in der Titel-Leiste deaktivieren
hast du die Suche schon bemüht? Die Frage gab es nicht erst einmal.
[Edit] Ich hatte recht, hier mein Beitrag von damals: ![]() und hier der directe Source:
Delphi-Quellcode:
Man muss also das schließen aus dem Systemmenü entfernen und somit ist auch das Schließenkreuz deaktiviert.
DeleteMenu(GetSystemMenu(Handle, False), SC_CLOSE, MF_BYCOMMAND);
DrawMenuBar(Handle); [/Edit] |
Re: "X" Knopf in der Titel-Leiste deaktivieren
Sorry, aber ich habe die Suchfunktion benutzt und leider nix passendes gefunden. Vllt hab ich einfach die falschen Suchwörter benutzt oder nich lange genug rumgesucht...
Also vielen Danke für deine Antwort !!! |
Re: "X" Knopf in der Titel-Leiste deaktivieren
Hat zwar nichts mit dem gesuchten Quellcode zu tun, aber wie handle ihr das im Allgemeinen?
Es führen viele Wege nach Rom, aber ich sehe das so, das man in einem Programm einen Button oder ein Menüpunkt hat, der das Programm beendet. Das "X" ist eigentlich nicht die richtige Funktion zum Beenden eines Programms, oder? Zumal wenn man Datenbanken hat, können ja zb vor dem Schließen Routinen aufgerufen werden, die das korrekte Schließen der Datenbank veranlassen und wenn dann der User auf das "X" drückt, werden diese Routinen nicht korrekt ausgeführt. Wie seht ihr das, "X" eine korrekte Beendenroutine eines Programms? Wozu dann noch andere "Exit" Menüpunkte oder "Beenden" Button einbauen? Danke für eure Meinungen. |
Re: "X" Knopf in der Titel-Leiste deaktivieren
Ich beende fast alle programme so oder mit Alt+F4. Ich glöaube, ich habe noch nie den Beenden-Menüpunkt oder so benutzt.
Zitat:
Zitat:
|
Re: "X" Knopf in der Titel-Leiste deaktivieren
Das "X" ist in der Windowswelt zum Beenden der Programme gedacht. Durch das vorhanden sein des "X" an immer der selben Stelle braucht kein User erst Stundenlang zu suchen wie er ein Programm beenden kann (außer es weicht vom Standarddesign ab). Demnach ist das Beenden des Programmes mit "X" der korrekte weg. Schließlich wird dabei die message zum schließen des Fensters ans Programm gesendet und auf die Kann man ohne Probleme (zum Beispiel wie das OnClose des Forms) reagieren.
|
Re: "X" Knopf in der Titel-Leiste deaktivieren
Ok, habt ihr auch Recht. Trotzdem wird ja ab und zu noch nach dem "Abklemmen" des
"X" Buttons gefragt. Naja, ich werde meine Programme dann mal anpassen. :roll: |
Re: "X" Knopf in der Titel-Leiste deaktivieren
Das "Abklemmen" des "X"-buttons ist zum Beispiel dann sinnvoll wenn man einen Dialog mit einer Frage hat wo es nur "ja" oder "nein" gibt. Denn mit klick auf "X" wäre unklar wie zu handeln ist. Wenn man den Nutzer also zu etwas zwingen/nötigen will ist das "abklemmen" eine variante.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:32 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