Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Schließen Symbol in der Titelleiste ausblenden (https://www.delphipraxis.net/56515-schliessen-symbol-der-titelleiste-ausblenden.html)

HeikoAdams 7. Nov 2005 09:00


Schließen Symbol in der Titelleiste ausblenden
 
Hallo,
ich möchte für ein Formular nur das Schlißen Symbol in der Titelleiste des Formulars ausblenden. Ist das überhaupt möglich und wenn ja, wie? :wiejetzt:

Gruß

Heiko
:dp:

Surrounder 7. Nov 2005 09:46

Re: Schließen Symbol in der Titelleiste ausblenden
 
ich habs bei mir nur mal deaktiviert, aber vielleicht kannst Du das modifizieren und das "x" auch ausbleden.

Delphi-Quellcode:
var
 h : THandle;
begin
 h := GetSystemMenu( Handle, False );
 if h <> 0 then begin
  DeleteMenu( h, SC_CLOSE, MF_BYCOMMAND );
  DrawMenuBar( Handle );
 end;

HeikoAdams 7. Nov 2005 09:57

Re: Schließen Symbol in der Titelleiste ausblenden
 
Danke, das hilft mir auch schon weiter. Es ging mir primär darum, das das Schließen Symbol "unbrauchbar" ist. :lol:

Gruß

Heiko

Luckie 7. Nov 2005 10:04

Re: Schließen Symbol in der Titelleiste ausblenden
 
Und warum? Alt+F4 geht dann auch nicht mehr, glaube ich. Und ich benutze sehr gerne Alt+F4, um Fenster zu schließen.

HeikoAdams 7. Nov 2005 10:10

Re: Schließen Symbol in der Titelleiste ausblenden
 
Zitat:

Zitat von Luckie
Und warum? Alt+F4 geht dann auch nicht mehr, glaube ich. Und ich benutze sehr gerne Alt+F4, um Fenster zu schließen.

Weil es aus bestimmten Gründen nötig ist, das die Anwendung nur über einen Beenden-Button geschlossen werden kann.

Luckie 7. Nov 2005 10:12

Re: Schließen Symbol in der Titelleiste ausblenden
 
Und warum das? Pack den Code von der Schaltfläche in das OnClose Ereignis der Form und ruf mit der Schaltfläche nur Close auf und es ist egal, wie der Benutzer das Fenster schließt.

HeikoAdams 7. Nov 2005 10:25

Re: Schließen Symbol in der Titelleiste ausblenden
 
Zitat:

Zitat von Luckie
Und warum das? Pack den Code von der Schaltfläche in das OnClose Ereignis der Form und ruf mit der Schaltfläche nur Close auf und es ist egal, wie der Benutzer das Fenster schließt.

Aber für die anderen (MDI) Fenster des Formulars, die zur Laufzeit erzeugt werden, wird beim klicken auf das Schließen-Symbol in der Titelleiste der Anwendung nur OnDestroy aufgerufen, was zu unangenehmen Problemen führen würde.

dfried 7. Nov 2005 10:34

Re: Schließen Symbol in der Titelleiste ausblenden
 
Zitat:

Zitat von Luckie
Pack den Code von der Schaltfläche in das OnClose Ereignis der Form und ruf mit der Schaltfläche nur Close auf und es ist egal, wie der Benutzer das Fenster schließt.

Der Meinung bin ich auch, allerdings würd ich es in OnCloseQuery packen, dann kann man evtl. noch das Schliessen des Fensters elegant verhindern, falls es doch noch nicht geschlossen werden darf.

Christian Seehase 7. Nov 2005 10:35

Re: Schließen Symbol in der Titelleiste ausblenden
 
Moin Heiko,

Zitat:

Zitat von HeikoAdams
Aber für die anderen (MDI) Fenster des Formulars, die zur Laufzeit erzeugt werden, wird beim klicken auf das Schließen-Symbol in der Titelleiste der Anwendung nur OnDestroy aufgerufen,

Das dürfte aber nur passieren, wenn Du die Anwendung mit Application.Terminate beendest, ansonsten werden, u.a., auch, vorausgesetzt, Du hast eine entsprechende Routine eingebaut, OnCloseQuery und OnClose aufgerufen.

HeikoAdams 8. Nov 2005 15:11

Re: Schließen Symbol in der Titelleiste ausblenden
 
Zitat:

Zitat von Christian Seehase
Moin Heiko,

Zitat:

Zitat von HeikoAdams
Aber für die anderen (MDI) Fenster des Formulars, die zur Laufzeit erzeugt werden, wird beim klicken auf das Schließen-Symbol in der Titelleiste der Anwendung nur OnDestroy aufgerufen,

Das dürfte aber nur passieren, wenn Du die Anwendung mit Application.Terminate beendest, ansonsten werden, u.a., auch, vorausgesetzt, Du hast eine entsprechende Routine eingebaut, OnCloseQuery und OnClose aufgerufen.

Nein, beim Klick auf das Schließen-Symbol in der Titelleiste der Hauptfensters wird bei allen untergeordneten Fenstern, der OnDestroy Event ausgelöst. Ich habs mit dem Debugger durch exerziert :-(


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:57 Uhr.
Seite 1 von 2  1 2      

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