Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Titelleiste ausblenden (https://www.delphipraxis.net/52291-titelleiste-ausblenden.html)

API 26. Aug 2005 20:51


Titelleiste ausblenden
 
Liste der Anhänge anzeigen (Anzahl: 1)
guten Abend,

Möchte in meiner Form (BorderStyle = bsSingle) die Titelleiste ausblenden.
Habe folgenden Code gefunden, welcher unter XP auch funktioniert..
unter win2k wird jedoch die Titelleiste nicht ausgeblendet.
Wo liegt der Haken?

Delphi-Quellcode:
procedure TForm1.HideTitlebar;
var
  Style: Longint;
begin
  if BorderStyle = bsNone then Exit;
  Style := GetWindowLong(Handle, GWL_STYLE);
  if (Style and WS_CAPTION) = WS_CAPTION then
  begin
    case BorderStyle of
      bsSingle,
      bsSizeable: SetWindowLong(Handle, GWL_STYLE, Style and
          (not (WS_CAPTION)) or WS_BORDER);
      bsDialog: SetWindowLong(Handle, GWL_STYLE, Style and
          (not (WS_CAPTION)) or DS_MODALFRAME or WS_DLGFRAME);
    end;
    Height := Height - GetSystemMetrics(SM_CYCAPTION);
    Refresh;
  end;
end;

Delphi-Freak 26. Aug 2005 21:32

Re: Titelleiste ausblenden
 
Warum nicht gleich BorderStyle auf bsNone, das sollte dann überall funktionieren
LG, ich

API 26. Aug 2005 22:20

Re: Titelleiste ausblenden
 
Zitat:

Zitat von Delphi-Freak
Warum nicht gleich BorderStyle auf bsNone, das sollte dann überall funktionieren
LG, ich

Weil ich einen Border möchte aber keine Titelleiste.

Evian 26. Aug 2005 22:40

Re: Titelleiste ausblenden
 
Probiers mal hiermit:

Delphi-Quellcode:
type
  TForm1 = class(TForm)
  private
    { Private declarations }
  public
    { Public declarations }
    procedure CreateParams(var Params: TCreateParams); override;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.CreateParams(var Params: TCreateParams);
begin
  inherited CreateParams(Params);
  Params.Style := (Params.Style or WS_THICKFRAME);
end;
Dein BorderStyle muss zwar auf bsNone sein ... aber es sieht genauso aus wie ein normales Fenster(und kann auch größer gezogen werden), nur halt ohne Titelleiste.

gruß

Evian


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