![]() |
Maximieren-Button in Form entfernen
Wie kann ich bei einer Form den Maximieren-Button entfernen?
|
Re: Maximieren-Button in Form entfernen
Guck mal im OI: BroderIcons.
|
Re: Maximieren-Button in Form entfernen
Da lässt sich der Button allerdings nur deaktivieren.
Da dies das Standardverhalten vieler Anwendungen ist, würde ich mich an deiner Stelle auch daran halten. Doch entfernen kannst du den Button bestimmt, indem du das Handle ermittelst und eine entsprechende Nachricht an dieses sendest. |
Re: Maximieren-Button in Form entfernen
Nein, man muss den korrespondierenden Menüeintrag aus dem Systemmneü entfernen. Code kommt gleich.
Ok, ich behaupte jetzt das gegenteil. Entfernen geht doch nicht. ;) |
Re: Maximieren-Button in Form entfernen
Hallo,
es sollte genügen, die Methode CreateParams zu überschreiben:
Delphi-Quellcode:
Ganz entfernen würde ich den Button nicht.
procedure TForm1.CreateParams (var Params: TCreateParams);
begin inherited; Params.Style := Params.Style and (not WS_MAXIMIZEBOX); end; Gruß Hawkeye |
Re: Maximieren-Button in Form entfernen
Vielen Dank, der OI hat mir geholfen
|
Re: Maximieren-Button in Form entfernen
Kann mir jemand sagen wie ich diesen Code in mein Programm einbauen soll? :gruebel:
Delphi-Quellcode:
Nur einfügen geht nicht.
procedure TForm1.CreateParams (var Params: TCreateParams);
begin inherited; Params.Style := Params.Style and (not WS_MAXIMIZEBOX); end; |
Re: Maximieren-Button in Form entfernen
du mußt die Original-Methode überschreiben :zwinker: (override)
|
Re: Maximieren-Button in Form entfernen
Hm... und das heißt? :gruebel:
|
Re: Maximieren-Button in Form entfernen
Zitat:
|
Re: Maximieren-Button in Form entfernen
Zitat:
Delphi-Quellcode:
Das bringt aber nix anderes, als was du im OI schon gemacht hast.
type TForm1=class(TForm)
... protected procedure CreateParams(...); override; end; Evtl. hilft dir noch Borderstyle weiter. |
Re: Maximieren-Button in Form entfernen
Mit BorderStyle auf z.B. bsDialog entfernst Du zwar den Maximieren- aber gleichzeitig auch den Minimieren-Button.
|
Re: Maximieren-Button in Form entfernen
Delphi-Quellcode:
in TWinControl ist CreateParams als Virtual definiert, welches von TCustomForm schonmal überschrieben wurde ... tja und nun überschreibst du es nochmal in deiner Form (also der davon abgeleiteten Klasse)
type
TWinControl = class(TControl) protected ... procedure CreateParams(var Params: TCreateParams); virtual; ... end; TCustomForm = class(TScrollingWinControl) protected ... procedure CreateParams(var Params: TCreateParams); override; ... end; // folgendes mußt du jetzt machen (übersieh das protected aber nicht! ) TForm1 = class(TScrollingWinControl) protected ... procedure CreateParams(var Params: TCreateParams); override; ... end; [edit] weo kommen den jetzt plötzlicvh die ganzen Beiträge her? :shock: |
Re: Maximieren-Button in Form entfernen
Zitat:
|
Re: Maximieren-Button in Form entfernen
Das sollte ja auch kein Angriff o.ä. sein, sondern nur ein Hinweis. Vielleicht war er ja sogar zielführend :zwinker:
|
Re: Maximieren-Button in Form entfernen
Zitat:
|
Re: Maximieren-Button in Form entfernen
Mda..... jetzt verstehe ich garnix :pale:
Ok überlasse es der nächsten Generation... sie sollen es richten. |
Re: Maximieren-Button in Form entfernen
Was verstehst Du denn nicht?
|
Re: Maximieren-Button in Form entfernen
Zitat:
|
Re: Maximieren-Button in Form entfernen
Also ich hab das so gemacht:
Delphi-Quellcode:
Und der Maximieren Button verschwindet trotzdem nicht :gruebel:
type
TForm1 = class(TForm) protected procedure CreateParams(var Params: TCreateParams); override; end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.CreateParams(var Params: TCreateParams); begin inherited; Params.Style := Params.Style and (not WS_MAXIMIZEBOX); end; |
Re: Maximieren-Button in Form entfernen
Der verschwindet auch nicht, sondern wird nur deaktiviert (also das Gleiche, was Du auch über die BorderIcons erreichst).
|
Re: Maximieren-Button in Form entfernen
Zitat:
|
Re: Maximieren-Button in Form entfernen
(Auf Grund des roten Kastens alle Dopplungen entfernt)
(Auf Grund der zwei roten Kästen noch mehr entfernt :D ) Er wird ausgegraut. Verschwinden tut er nicht. Das sieht das Konzept von MS nicht so einfach vor. Wie ich schrieb: Du erreichst dasselbe wie mit Bordericons. Was erwartest du denn? |
Re: Maximieren-Button in Form entfernen
Zitat:
Na gut :pale: Pardo... |
Re: Maximieren-Button in Form entfernen
Du hast folgende Möglichkeiten:
- Maximieren-Button deaktivieren, Minimieren-Button aktiv - Minimieren-Button deaktivieren, Maximieren-Button aktiv - beide deaktivieren -> sie werden entfernt Wenn Letzteres für Dich OK ist, kannst Du das entweder über die BorderIcons oder über den BorderStyle erreichen. |
Re: Maximieren-Button in Form entfernen
Delphi-Quellcode:
so ist'er Weg ... ok, zwar samt dem MinimizeButton, aber er ist weg :roll:
BorderIcons = [biSystemMenu]
Zitat:
|
Re: Maximieren-Button in Form entfernen
Ja das mit dem BorderIcons kenne ich...
Das heißt also diesen Button bekomme ich net weg, also ganz weg und nicht nur deaktivieren. |
Re: Maximieren-Button in Form entfernen
Du bekommst ihn schon weg, aber nur in Kombination mit dem Minimieren-Button. Klingt blöd, ist aber so.
|
Re: Maximieren-Button in Form entfernen
Ne so nicht. Na gut, danke euch.
|
Re: Maximieren-Button in Form entfernen
Wenn du beide Buttons deaktivierst, kannst du auch den TJvCaptionButton nehmen (Jedi).
Allerdings wird dieser wahrscheinlich nicht an das Theme angepasst. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:37 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