AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi "X" Knopf in der Titel-Leiste deaktivieren
Thema durchsuchen
Ansicht
Themen-Optionen

"X" Knopf in der Titel-Leiste deaktivieren

Ein Thema von LoRd-MuldeR · begonnen am 11. Feb 2006 · letzter Beitrag vom 22. Feb 2006
Antwort Antwort
Benutzerbild von LoRd-MuldeR
LoRd-MuldeR

Registriert seit: 9. Okt 2005
Ort: Somewhere over the Slaughterhouse
132 Beiträge
 
Delphi 7 Professional
 
#1

"X" Knopf in der Titel-Leiste deaktivieren

  Alt 11. Feb 2006, 19:34
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!
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: "X" Knopf in der Titel-Leiste deaktivieren

  Alt 11. Feb 2006, 19:35
hast du die Suche schon bemüht? Die Frage gab es nicht erst einmal.

[Edit]
Ich hatte recht, hier mein Beitrag von damals: http://www.delphipraxis.net/internal...=485085#485085

und hier der directe Source:
Delphi-Quellcode:
DeleteMenu(GetSystemMenu(Handle, False), SC_CLOSE, MF_BYCOMMAND);
DrawMenuBar(Handle);
Man muss also das schließen aus dem Systemmenü entfernen und somit ist auch das Schließenkreuz deaktiviert.
[/Edit]
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von LoRd-MuldeR
LoRd-MuldeR

Registriert seit: 9. Okt 2005
Ort: Somewhere over the Slaughterhouse
132 Beiträge
 
Delphi 7 Professional
 
#3

Re: "X" Knopf in der Titel-Leiste deaktivieren

  Alt 11. Feb 2006, 19:49
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 !!!
  Mit Zitat antworten Zitat
Benutzerbild von AirJordan
AirJordan

Registriert seit: 29. Mär 2005
Ort: Hamburg
214 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: "X" Knopf in der Titel-Leiste deaktivieren

  Alt 22. Feb 2006, 08:22
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.
Holger
Georg Schramm über Lothar Dombrowski:
"Er krankt daran, dass die Leute in einer
schrecklichen Welt leben und lachen..."

_
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: "X" Knopf in der Titel-Leiste deaktivieren

  Alt 22. Feb 2006, 08:32
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 von AirJordan:
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.
Und warum nicht? Das Ereignis OnClose der Form wird nur nicht mehr aufgerufen, wenn der Prozess abgeschossen wird oder Application.Terminate aufgerufen wird.

Zitat:
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.
Absolut korrekt. Warum sollte es nicht korrekt sein?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

Re: "X" Knopf in der Titel-Leiste deaktivieren

  Alt 22. Feb 2006, 08:37
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.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von AirJordan
AirJordan

Registriert seit: 29. Mär 2005
Ort: Hamburg
214 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: "X" Knopf in der Titel-Leiste deaktivieren

  Alt 22. Feb 2006, 16:39
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.
Holger
Georg Schramm über Lothar Dombrowski:
"Er krankt daran, dass die Leute in einer
schrecklichen Welt leben und lachen..."

_
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#8

Re: "X" Knopf in der Titel-Leiste deaktivieren

  Alt 22. Feb 2006, 17:16
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.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz