Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi schließen-button blockieren? (https://www.delphipraxis.net/88179-schliessen-button-blockieren.html)

Sandra121289 11. Mär 2007 13:55


schließen-button blockieren?
 
hallo!
ich möchte gerne den schließen-button, der in jedem windows-fenster standardmäßig mit dabei ist blockieren, sodass man um das programm zu schließen nur noch den von mir eingefügten button benutzen kann! weiß jemand wie das geht?
danke im voraus :)

zecke 11. Mär 2007 14:03

Re: schließen-button blockieren?
 
:hi:

Nun die Form auswählen und im OI bei 'BorderIcons', 'biSystemMenu' auf 'false' setzen. Dann sind allerdings auch die Anderen Icons (minimieren, maximieren..) weg.

Etwas Anderes kenne ich nicht :)


2. edit: Willkommen in der DP :mrgreen:

MrKnogge 11. Mär 2007 14:11

Re: schließen-button blockieren?
 
Moin und herzlich willkommen in der DP :hi:

neben obiger Variante kannst du auch folgendes machen:
Delphi-Quellcode:
  if DeinButtonWurdeGedruekt = true then
    CanClose := true
  else
    CanClose := false;
DeinButtonWurdeGedruekt muss hierbei standardmäßig false sein, und durch dein Button dann auf true gesetzt werden.

Aber ich denke, du möchtest den Button deaktivieren, weil neben der Close-Anweisung noch weitere Befehle in deinem Button abgearbeitet werden sollen. Diese könntest du auch in das Ereigniss "OnClose" packen. So werden sie jedesmal beim Beenden deiner Anwendung ausgeführt (ausgenommen Alt+F4 natürlich)

Gruß

Sandra121289 11. Mär 2007 14:20

Re: schließen-button blockieren?
 
danke :-D
hat alles geklappt =)

Hawkeye219 11. Mär 2007 14:30

Re: schließen-button blockieren?
 
Hier ist noch eine Möglichkeit:

Delphi-Quellcode:
procedure SetCloseButton (aForm: TForm; aEnabled: Boolean);
const
  cFlags : array [Boolean] of Cardinal = (MF_GRAYED, MF_ENABLED);
var
  Menu : THandle;
begin
  Menu := GetSystemMenu(aForm.Handle, False);
  if (Menu <> 0) then
    EnableMenuItem(Menu, SC_CLOSE, MF_BYCOMMAND or cFlags[aEnabled]);
end;
Gruß Hawkeye

Luckie 11. Mär 2007 16:53

Re: schließen-button blockieren?
 
Warum muss hier die Benutzeroberfläche wieder verstümmelt werden? Wenn man die Schliessenschaltfläche im Systemmenü deaktiviert, kann das Fenster auch nicht über Alt+F4 geschlossen werden. Warum sollte der Bnutzer das Fenster nicht über die Schliessenschaltfläche im Sytemmenü schliessen können? Es gibt für mich keinen Grund, der dagegen spräche.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:01 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