AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Titelleiste!

Ein Thema von fedderle · begonnen am 17. Feb 2003 · letzter Beitrag vom 18. Feb 2003
 
jbg

Registriert seit: 12. Jun 2002
3.485 Beiträge
 
Delphi 10.1 Berlin Professional
 
#3
  Alt 17. Feb 2003, 09:18
Möglich ist alles. Die Farbe und Größe kannst du nur global über die Bildschirmeinstellungen ändern. Das ist aber sicherlich nicht dein Ziel.

Die andere Möglichkeit mit der eigenen Titelleiste ist da schon besser.

Hier mal ein kleiner Code:
Delphi-Quellcode:
  TForm1 = class(TForm)
    PanelFormMover: TPanel;
...
    { Private-Deklarationen }
    FMoveStartPos: TPoint;
    FFormMoving: Boolean;
  end;

...

procedure TForm1.PanelFormMoverMouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  if Button = mbLeft then
  begin
    FFormMoving := True;
    FMoveStartPos := Point(X, Y);
  end;
end;

procedure TForm1.PanelFormMoverMouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
begin
  if FFormMoving then
    SetWindowPos(Handle, 0,
                 Left + (X - FMoveStartPos.X),
                 Top + (Y - FMoveStartPos.Y),
                 0, 0, SWP_NOSIZE or SWP_NOZORDER);
end;

procedure TForm1.PanelFormMoverMouseUp(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  if Button = mbLeft then
    FFormMoving := False;
end;
Das Panel PanelFormMover kannst du an jeder beliebigen Stelle des Formulars setzen. Du kannst anstatt eines Panels auch jede andere Komponente verwenden, die die Ereignisse OnMouseDown, OnMouseMove und OnMouseUp unterstützt.


Die Lösung über die Botschaft WM_NCHITTEST funktioniert nicht im Zusammenhang mit Controls, die das Verschieben möglich machen sollen, da WM_NCHITTEST nur gesendet wird, wenn der Mousecursor direkt über dem Formular ist, und das ist er bei einer darauf liegenden Komponente eben nicht.
  Mit Zitat antworten Zitat
 


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 21:27 Uhr.
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