Delphi-PRAXiS
Seite 1 von 2  1 2      

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 MDIChilds Systembuttons deaktivieren (https://www.delphipraxis.net/84545-mdichilds-systembuttons-deaktivieren.html)

handson 18. Jan 2007 11:50


MDIChilds Systembuttons deaktivieren
 
Hallo!

Gibt es eine Möglichkeit im MDIChild die System-Buttons maximieren und minimeren zu deaktivieren? :gruebel:
Meine MDIChilds werden von Anfang an maximiert dargestellt und sollen nur geschlossen werden, mehr nicht.

Stephan

Muetze1 18. Jan 2007 12:41

Re: MDIChilds Systembuttons deaktivieren
 
Schon probiert im Objektinspektor die "BorderIcons" auszuschalten?

handson 18. Jan 2007 14:06

Re: MDIChilds Systembuttons deaktivieren
 
Das habe ich schon versucht, allerdings mit sehr mäßigem Erfolg.
Da konnte ich zwar das minimieren ausschalten, allerdings war der Buttons nicht verschwunden, sondern es tauchte ein zweiter minimieren-Button
auf. :| Das ging also in die Hose. Konnte aber trotzdem immer noch maximieren.

Es muss noch einen anderen Trick geben...

raiguen 18. Jan 2007 15:07

Re: MDIChilds Systembuttons deaktivieren
 
Es gibt keine anderen Trick, als der schon vorgestellte. Allerdings solltes du nicht nur den Minimize-Botton disabeln, sondern auch den Maximize-Button; letztlich hast du nur den Close-Button oben rechts... dann funktioniert das auch :wink:

handson 19. Jan 2007 09:16

Re: MDIChilds Systembuttons deaktivieren
 
Es sind beide Buttons disabled worden. Es werden aber beide angezeigt (wie gesagt, das MDIChild wird gleich maxmimiert angezeigt.).
Der Minimieren-Button geht nicht, aber beim Maximieren-Button kriege ich das Fenster wieder in den Urzustand und erst da sind beide
Buttons wie gewollt verschwunden.

torsti.j 25. Jan 2008 23:03

Re: MDIChilds Systembuttons deaktivieren
 
Hallo Leute.

Bin heute auch auf dieses Problem gestoßen!

Alle Fenster innerhalb der MDI, blenden ein Min,Max und Schließ Button ein.

verwende Ich diesen Code

Pat.BorderIcons := [biSystemMenu,biMaximize];

dann kann ich zwar nicht Minimieren, aber über Maximieren wird mir das Fenster aus der Mdi
herausgerissen.

Verwendet man

Pat.BorderIcons := []; oder nur Pat.BorderIcons := [biSystemMenu];

dann wird gleich beim Öffnen des Programmes die Form gesondert dargestellt!

Warum kann Delphi diese 3 Buttons nicht ausblenden?!? ohne die gewollte MDI Verschachtelung außerkraft zu setzen?

Schließlich muss man ja vom Dümmsten Benutzer aus gehen! :)

Gruß Torsten

Muetze1 25. Jan 2008 23:16

Re: MDIChilds Systembuttons deaktivieren
 
1. Ich habe keine Probleme die Buttons auszublenden
2. Ich habe noch nie erlebt, dass MDI Childs rausgelöst werden

Wie legst du die MDI Childs an? Hast du die MDI Child Option im OI gesetzt vor dem erstellen? Welche Delphiversion hast du?

torsti.j 25. Jan 2008 23:34

Re: MDIChilds Systembuttons deaktivieren
 
Na Ja, eigendlich sind Sie ja auch nich wirklich herausgelöst.
Sie sind noch innerhalb des Hauptfensters, nur halt mit einem eigenen Rahmen!
Alle Unterfenster werden beim klick auf "min" verkleinert in einem eigenen Rahmen angezeigt.

Sie sollen aber nicht minimiert oder maximiert werden!

Sie werden von Beginn an maximiert und Sollen das auch bleiben!

Deshalb habe ich versucht diese auszublenden.

Aber irgendwie Will's nicht gelingen!

Blende ich die Buttons aus, ist der Effekt schon beim Start des Programms da!

Mit Probieren komme ich hier nicht weiter.

Hab schon das Ganze Internet durchgesucht!?!?!?!?!?!?
:(

torsti.j 25. Jan 2008 23:39

Re: MDIChilds Systembuttons deaktivieren
 
Kann man nicht das Ereignis Minimieren abfangen und Killen?

das Würde auch ausreichen!

torsti.j 25. Jan 2008 23:55

Re: MDIChilds Systembuttons deaktivieren
 
Hier wäre zB. das Beenden abbrechen!

procedure THF.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
var
m1:string;
m2:string;
begin
inherited;
m1:=HRVStr.ReadString(Name,'Ende1',''); //Text aus einer Datei einlesen
m2:=HRVStr.ReadString(Name,'Ende2',''); //Text aus einer Datei einlesen
CanClose := Application.Messagebox
(PChar(m1),PChar(m2),MB_YESNO) = IDYES;
('Wollen Sie wirklich beenden?','Ende!',MB_YESNO) = IDYES;
end;

So müsste das doch auch für das Minimieren und Maximieren gehen?

oder gibt es da keine Ereignisse, die man abfragen kann???


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:19 Uhr.
Seite 1 von 2  1 2      

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