Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Form die „BorderStyle := bsNone“ ist, in der Größe ändern? (https://www.delphipraxis.net/100905-form-die-%84borderstyle-%3D-bsnone%93-ist-der-groesse-aendern.html)

_frank_ 5. Okt 2007 12:36

Re: Form die „BorderStyle := bsNone“ ist, in der Größe änder
 
mhm, wie wärs denn damit:

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

...

procedure TForm1.CreateParams(var Params: TCreateParams);
begin
  inherited;
  Params.Style:=Params.Style or WS_SIZEBOX;
end;
Hast allerdings nen 3d-Rand, wenn dich dieser stören sollte, gibts wohl nur die Möglichkeit mit der manuellen Implementation.

HTH Frank

s-off 5. Okt 2007 12:50

Re: Form die „BorderStyle := bsNone“ ist, in der Größe änder
 
Zitat:

Zitat von _frank_
procedure TForm1.CreateParams(var Params: TCreateParams);
begin
inherited;
Params.Style:=Params.Style or WS_SIZEBOX;
end;
[/delphi]

Auch ne nette Möglichkeit :thumb:

Zitat:

Zitat von _frank_
Hast allerdings nen 3d-Rand, wenn dich dieser stören sollte, gibts wohl nur die Möglichkeit mit der manuellen Implementation.

Das stimmt allerdings nur zur Hälfte - setzt Du vorher noch
Delphi-Quellcode:
Params.ExStyle := Params.ExStyle or WS_EX_STATICEDGE;
hat sich das mit der 3D-Border erledigt :zwinker:

brinkee 5. Okt 2007 12:53

Re: Form die „BorderStyle := bsNone“ ist, in der Größe änder
 
So habe ichs auch mal gemacht. Passt sehr gut...

_frank_ 5. Okt 2007 12:59

Re: Form die „BorderStyle := bsNone“ ist, in der Größe änder
 
Zitat:

Zitat von s-off
Das stimmt allerdings nur zur Hälfte - setzt Du vorher noch
Delphi-Quellcode:
Params.ExStyle := Params.ExStyle or WS_EX_STATICEDGE;
hat sich das mit der 3D-Border erledigt :zwinker:

gut, hatte nur die normalen Styles durchsucht und probiert, aber so ists auch ok, auch wenns "sunken" ist

Gruß Frank

Code 5. Okt 2007 13:34

Re: Form die „BorderStyle := bsNone“ ist, in der Größe änder
 
Zitat:

Zitat von _frank_
Zitat:

Zitat von s-off
Das stimmt allerdings nur zur Hälfte - setzt Du vorher noch
Delphi-Quellcode:
Params.ExStyle := Params.ExStyle or WS_EX_STATICEDGE;
hat sich das mit der 3D-Border erledigt :zwinker:

gut, hatte nur die normalen Styles durchsucht und probiert, aber so ists auch ok, auch wenns "sunken" ist

Gruß Frank

Hi,

tolle Möglichkeit, klappt sehr gut. Mal eine dumme Frage, wie kommt man an so ein Code? Wo kann man da nachschauen?

Gruß
Klaus

_frank_ 5. Okt 2007 14:03

Re: Form die „BorderStyle := bsNone“ ist, in der Größe änder
 
imho ist die Createparams-Methode da, um vor dem erstellen des Fensters dessen Infos zusammenzutragen.
im MSDN: http://msdn2.microsoft.com/en-us/library/ms632603.aspx
Übersicht der window-Styles und der extended Styles.
in jedem dieser Flags ist (im Normalfall) ein Bit gesetzt, somit werden die flags per OR kombiniert.

hat man das Struct (oder in delphi record genannt) zusammengebaut wird damit CreateWindow(ex) aufgerufen.

der Rest ist probieren und googlen :)
gerade die numerischen Werte der Konstanten kann manchmal nervig sein, wenn man nicht den PSDK mit CD-Größe runterladen will, nur um an 1,2 header-Dateien ranzukommen :)

imho lassen sich die styles auch per MSDN-Library durchsuchenSetWindowLong manipulieren, klappt aber nicht beim WS_SIZEBOX (evtl ReCreate notwendig).

HTH Frank

patti 6. Okt 2007 11:36

Re: Form die „BorderStyle := bsNone“ ist, in der Größe änder
 
Ne andere Möglichkeit, an gute Code-Schnipsel zu kommen sind z.B. der "Easy Delphi Helper", die "Delphi-Source Library" und ne Delphi-Datenbank für Cuecards (Programm selber gibts hier). Da stehen manchmal wirklich gute Tips und Tricks für alle Bereiche rund um Delphi (Multimedia, System, Grafik, Algorithmen,...).
Einfach mal danch googeln ;-)

P@Tti


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:15 Uhr.
Seite 2 von 2     12   

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