AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Form mit bsToolWindow-BorderStyle und Height := 0
Thema durchsuchen
Ansicht
Themen-Optionen

Form mit bsToolWindow-BorderStyle und Height := 0

Ein Thema von Nuclear-Ping · begonnen am 11. Okt 2004 · letzter Beitrag vom 12. Okt 2004
Antwort Antwort
Seite 2 von 3     12 3      
Nuclear-Ping
(Gast)

n/a Beiträge
 
#11

Re: Form mit bsToolWindow-BorderStyle und Height := 0

  Alt 12. Okt 2004, 10:44
Yup, I know. tHx für den Link, auf der Seite war ich vorher noch nicht. Hab das grad mal bisschen überflogen, die Frage die sich dabei jetzt aber stellt ist: Wie setz ich das in Delphi um und krieg da auch die Kompos drauf, die ich haben will? Bisher war mir "nonVCL" ein Buch mit sieben Siegeln und hab's vermieden, wo ich konnte.

Grüße,
Mario
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#12

Re: Form mit bsToolWindow-BorderStyle und Height := 0

  Alt 12. Okt 2004, 10:55
Notfalls könntest du ja noch mir Regions den unteren Teil des Fensters abschneiden.

z.B.
Delphi-Quellcode:
Procedure TForm1.FormCreate(Sender: TObject);
  Begin
    SetWindowRgn(Handle, CreateRectRgn(0, 0, Width, 22), True);
  End;
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.016 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#13

Re: Form mit bsToolWindow-BorderStyle und Height := 0

  Alt 12. Okt 2004, 10:58
Hmm, scheint aber auch nicht zu funktionieren, wenn man diese Klasse in CreateWindowsEx benutzt...

LUUUCKIEEEE!!!
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.016 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#14

Re: Form mit bsToolWindow-BorderStyle und Height := 0

  Alt 12. Okt 2004, 11:01
Zitat von himitsu:
Notfalls könntest du ja noch mir Regions den unteren Teil des Fensters abschneiden.
Baaahh, wie hässlich!!!
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#15

Re: Form mit bsToolWindow-BorderStyle und Height := 0

  Alt 12. Okt 2004, 11:16
Hehe, yo, mit SetWindowRgn (Handle, CreateRectRgn (0, 0, Width, GetSystemMetrics (SM_CYCAPTION)), True) schneidet er's genau bis unter die Titelleiste ab, aber es sieht dann auch entsprechend abgeschnitten aus.

Bild (mit SetWindowRgn):
http://www.open-ware.de/tmp/bsToolWin_Cut.jpg
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#16

Re: Form mit bsToolWindow-BorderStyle und Height := 0

  Alt 12. Okt 2004, 13:16
So, habe damit ein wenig herumgespielt un habe ein Lösung entdeckt.
Deklariere einfach einen WM_WINDOWPOSCHANGING handler und mache dort nichts.
Dann kannst du eine beliebige Höhe setzen.
Frag mich bitte nicht warum das so funktioniert....

Delphi-Quellcode:
  private
    { Private declarations }
    procedure PosChange(var Msg: TWmWindowPosChanging);
  message WM_WINDOWPOSCHANGING;

  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
   Height := GetSystemMetrics(SM_CYCAPTION) // + - dy ???;
end;

procedure TForm1.PosChange (var Msg: TWmWindowPosChanging);
begin

end;
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.016 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#17

Re: Form mit bsToolWindow-BorderStyle und Height := 0

  Alt 12. Okt 2004, 13:29
Zitat von toms:
So, habe damit ein wenig herumgespielt un habe ein Lösung entdeckt.
Deklariere einfach einen WM_WINDOWPOSCHANGING handler und mache dort nichts.
Dann kannst du eine beliebige Höhe setzen.
Frag mich bitte nicht warum das so funktioniert....
SAUBER!!!
Ich kann dir sagen, warum: Weil dann nicht überprüft wird, ob das Fenster nicht die Mindestgröße unterschreitet.

P.S: Besser wär so:
Delphi-Quellcode:
procedure TForm1.WMWindowPosChanging(var Message: TWMWindowPosChanging);
begin
  if BorderStyle <> bsToolWindow then
    inherited;
end;
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#18

Re: Form mit bsToolWindow-BorderStyle und Height := 0

  Alt 12. Okt 2004, 13:35
Zitat:
Height := GetSystemMetrics(SM_CYCAPTION) // + - dy ???;
Noch gibt's noch ein kleines Problem. Wenn die Höhe der Form gleich
GetSystemMetrics(SM_CYCAPTION) gesetzt wird, sieht man noch einen Teil der Form (etwa 2 Pixel)
Wenn ich den klassischen Style von Windows aktivert habe, dann stimmts glaub, wenn ich mich recht erinnere.
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.016 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#19

Re: Form mit bsToolWindow-BorderStyle und Height := 0

  Alt 12. Okt 2004, 13:37
ClientHeight := 0; wär doch richtig, oder?
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#20

Re: Form mit bsToolWindow-BorderStyle und Height := 0

  Alt 12. Okt 2004, 13:42
Zitat:
ClientHeight := 0;
Ja klar! Hmm, funktioniert aber nur im XP Style aber im klassischen Style erscheint dann die Titelbar einige Pixel zu klein,
resp. abgeschnitten.
Thomas
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:29 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