Einzelnen Beitrag anzeigen

samso

Registriert seit: 29. Mär 2009
439 Beiträge
 
#7

Re: Titelleiste der Form ausblenden, aber Rahmen beibehalten

  Alt 27. Mär 2010, 22:06
Meine Idee dazu ist, das vorhandene Hauptfenster durch ein weiteres (rahmenloses) Fenster zu verdecken. Die Größe des zweiten Formulars muss dann entsprechend angepasst werden. Das Ganze ist bestimmt noch optimierbar, aber vielleicht hilft das ja schon weiter. Anbei kleine Demo (getestet mit Delphi 2007+2009). Hier ein Auszug, der das Grundprinzip zeigt:
Delphi-Quellcode:
procedure TForm1.FormShow(Sender: TObject);
begin
  Form2 := TForm2.Create(Self);
  ResizeClientForm;
  Form2.Show;
end;

procedure TForm1.ResizeClientForm;
begin
  if Assigned(Form2)
  then begin
    Form2.SetBounds(Left + Glassframe.Left,
                    Top + Glassframe.Top,
                    ClientWidth,
                    ClientHeight + GetSystemMetrics(SM_CYCAPTION));
  end;
end;

procedure TForm1.WMMove(var msg: TWMMove);
begin
  ResizeClientForm;
end;
Angehängte Dateien
Dateityp: zip specialwindow_107.zip (18,7 KB, 54x aufgerufen)
  Mit Zitat antworten Zitat