bsSingle BorderStyle von Form1 ohne Maximieren ?
Hey Leute ich möchte meinem Programm den BorderStyle bsSingle verpassen allerdings ohne Maximieren, also oben rechts nur minimieren und schließen. Wie mache ich das ?
|
AW: bsSingle BorderStyle von Form1 ohne Maximieren ?
Den Eintrag aus BorderIcons rausnehmen
|
AW: bsSingle BorderStyle von Form1 ohne Maximieren ?
Dann ist es aber ja nur grau. ich möchte es wenn möglich ganz weghaben
|
AW: bsSingle BorderStyle von Form1 ohne Maximieren ?
Mit Hilfe der Api wirst du es wahrscheinlich hinkriegen.
|
AW: bsSingle BorderStyle von Form1 ohne Maximieren ?
Delphi-Quellcode:
unit Unit2;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm=Class(Forms.TForm) public procedure GetBorderIconStyles(var Style, ExStyle: Cardinal); override; End; TForm2 = class(TForm) private { Private-Deklarationen } public { Public-Deklarationen } end; var Form2: TForm2; implementation {$R *.dfm} { TForm } procedure TForm.GetBorderIconStyles(var Style, ExStyle: Cardinal); begin inherited; Style := Style and not (WS_MINIMIZEBOX or WS_MaximizeBOX) end; end. |
AW: bsSingle BorderStyle von Form1 ohne Maximieren ?
Nein, was soll man mit der API da hinbekommen? (außer man zeichnet die Titelleiste komplett selber)
Das ist ein Standardverhalten von Windows. Wenn der Minimierenbutton vorhanden ist, dann auch der Maximimieren (wenn auch nur inaktiv). Ohne den Minimizebutton ist auch der Maximize weg. |
AW: bsSingle BorderStyle von Form1 ohne Maximieren ?
da habe ich oben doch gegen das KISS-Prinzip verstossen, besser so
Delphi-Quellcode:
unit Unit2;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm2 = class(TForm) private { Private-Deklarationen } public procedure GetBorderIconStyles(var Style, ExStyle: Cardinal); override; { Public-Deklarationen } end; var Form2: TForm2; implementation {$R *.dfm} procedure TForm2.GetBorderIconStyles(var Style, ExStyle: Cardinal); begin inherited; Style := Style and not (WS_MINIMIZEBOX or WS_MaximizeBOX) end; end. |
AW: bsSingle BorderStyle von Form1 ohne Maximieren ?
Zitat:
Delphi-Quellcode:
[Fehler] Unit2.pas(13): Methode 'GetBorderIconStyles' nicht in Basisklasse gefunden
[Warnung] Unit2.pas(27): Datei nicht gefunden: 'Unit2.dfm' [Fataler Fehler] Project1.dpr(6): Verwendete Unit 'Unit2.pas' kann nicht compiliert werden |
AW: bsSingle BorderStyle von Form1 ohne Maximieren ?
Premaider, was erwartest du jetzt mit deiner Frage? Selbst wenn der Tipp unter D7 funktionieren würde, das steht
Delphi-Quellcode:
. Also beides.
and not (WS_MINIMIZEBOX or WS_MaximizeBOX)
Hier das gleiche in grün:
Delphi-Quellcode:
Kannst du experimentieren.
procedure TForm1.FormCreate(Sender: TObject);
begin SetWindowLong(Handle, GWL_STYLE, GetWindowLong(Handle, GWL_STYLE) and not (WS_MINIMIZEBOX or WS_MAXIMIZEBOX)); end; Ansonsten siehe Beitrag von himitsu. |
AW: bsSingle BorderStyle von Form1 ohne Maximieren ?
Delphi-Quellcode:
reicht nicht?
BorderStyle := bsDialog
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:07 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