Delphi-PRAXiS

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 Borderstyle bsnone -> Formgröße ändern? (https://www.delphipraxis.net/67978-borderstyle-bsnone-formgroesse-aendern.html)

Mazel 22. Apr 2006 18:12


Borderstyle bsnone -> Formgröße ändern?
 
Hi,

ich habe bei meiner Form den Borderstyle bsnone gewählt. Nun kann ich aber leider die Formgröße nicht mehr ändern (Resize). Ist eine Änderung der Formgröße ohne Border möglich?

Gruß
Mazel

mkinzler 22. Apr 2006 18:19

Re: Borderstyle bsnone -> Formgröße ändern?
 
Dir Größe der Form kannst du sicherlich weiterhin ändern. Nur die Größenänderung per Maus durch ziehen am rand natürlich nicht. Du wirst dieses Verhalten wohl selber implementieren müssen.

Mazel 22. Apr 2006 18:22

Re: Borderstyle bsnone -> Formgröße ändern?
 
hi,

das meinte ich. Wie kann ich das am besten machen? Da wird doch eine bestimmte Message gesendet, die ich doch genau so senden könnte, nur weis ich nicht welche das ist.

Gruß
Mazel

Hawkeye219 22. Apr 2006 18:25

Re: Borderstyle bsnone -> Formgröße ändern?
 
Hallo Marcel,

du kannst in deinem Formular die Methode CreateParams wie folgt überschreiben. Dann hat das Formular zwar noch einen Rand, aber keine Caption mehr:

Delphi-Quellcode:
type
  TForm1 = class (TForm)
  protected
    procedure CreateParams(var Params: TCreateParams);
      override;
  end;

procedure TForm1.CreateParams (var Params: TCreateParams);
begin
  inherited;
  Params.Style := Params.Style OR WS_THICKFRAME;
end;
Gruß Hawkeye

Mazel 22. Apr 2006 18:37

Re: Borderstyle bsnone -> Formgröße ändern?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,

danke, aber ich wollte eigentlich keinen Border, weil ich den Border mit Bilder auslegen will. Ich habe mal als Anhang das Bild mit der procedure CreateParams hochgeladen. Da sieht man zwar keine Caption mehr aber der Rand soll auch weg.

Gruß
Mazel

Cyberbob 22. Apr 2006 19:04

Re: Borderstyle bsnone -> Formgröße ändern?
 
Du könntest das mit ImageBorder.OnMouseDown lösen. bei Mausklick einfach schaun, in welche richtung sich der Mauszeiger sich bewegt und dementsprechend die formulargrösse setzen.

Mazel 22. Apr 2006 19:10

Re: Borderstyle bsnone -> Formgröße ändern?
 
Hi,

ich habe es schon mit OnMouseDown probiert, aber die Maus bewegt sich aus der Form heraus und somit kann ich die Koordinaten nicht abfragen. Ich probier jetzt die Maus außerhalb meiner Form abzufragen, ich dachte aber, dass es nicht so umständlich ist.

Gruß
Mazel

Pr0g 22. Apr 2006 19:11

Re: Borderstyle bsnone -> Formgröße ändern?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich hab dir mal nen Beispiel angehangen, welches ich vor einiger Zeit mal erstellt hatte (vielleicht ist es auch schon in irgend nem Post angehangen, weiß es nicht mehr)...

Mazel 22. Apr 2006 19:21

Re: Borderstyle bsnone -> Formgröße ändern?
 
Hay,

danke, genau das was ich brauche. Um meine Form zu verschieben nutze ich
Delphi-Quellcode:
  ReleaseCapture;
  Form1.Perform(WM_SYSCOMMAND, $f012, 0);
Ich habe mir gedacht, um die Größe zu ändern muss es auch damit gehen, nur wusste ich nicht, was als 2. Parameter stehen muss. Für alle die es auch mal brauchen könnten:
Delphi-Quellcode:
//am oberen Rand ziehen
  ReleaseCapture;
  PerForm(WM_SysCommand, $F003, 0);

//am unteren Rand ziehen
  ReleaseCapture;
  PerForm(WM_SysCommand, $F006, 0);

//am linken Rand ziehen
  ReleaseCapture;
  PerForm(WM_SysCommand, $F001, 0);

//am rechten Rand ziehen
  ReleaseCapture;
  PerForm(WM_SysCommand, $F002, 0);
Danke nochmal :thumb:


Gruß
Mazel


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