Autor Beitrag
boozzz
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 66

Win XP, Win 2000, SuSe Linux

BeitragVerfasst: Mi 04.01.06 12:06 
Danke Ironwulf,
was muss ich machen, wenn sich das Fenster mit der Maus (durch klick auf einen freien Platz) verschieben lassen soll.

Danke,
boozzz

Moderiert von user profile iconChristian S.: Von hier abgeteilt
Lossy eX
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1048
Erhaltene Danke: 4



BeitragVerfasst: Mi 04.01.06 13:51 
Entweder du verschiebst es von Hand oder du gauckelst Windows vor der Clientbereich sei die Caption.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
type
  TForm1 = class(TForm)
  protected
    procedure WMNCHitTest(var Message: TWMNCHitTest); message WM_NCHITTEST;


implementation

procedure TForm1.WMNCHitTest(var Message: TWMNCHitTest);
begin
  inherited;

  if Message.Result = HTCLIENT then
    Message.Result := HTCAPTION;
end;

Das wars schon. Du solltest aber darauf achten, dass du unter BorderIcons das biMaximize entfernst, da du dein Fenster sonst durch einen Doppelclick maximierst.

_________________
Nur die Menschheit ist arrogant genug, um zu glauben sie sei die einzige intelligente Lebensform im All. Wo nicht mal das nachhaltig bewiesen wurde.
boozzz Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 66

Win XP, Win 2000, SuSe Linux

BeitragVerfasst: Do 02.02.06 20:29 
Vielen Dank, Lossy eX, für deine Antwort. Was müsste ich ändern, wenn sich das Fenster nur durch Klick auf ein bestimmtes Image verschieben soll? Jetzt funktionieren nämlich meine Buttons nicht mehr (Buttons sind Images).

Viele Grüße,
boozzz
LLCoolDave
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 212

Win XP
Delphi 2005
BeitragVerfasst: Do 02.02.06 21:22 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
const
  SC_DRAGMOVE = $F012;
begin
  if Button = mbLeft then
  begin
    ReleaseCapture;
    Perform(WM_SYSCOMMAND, SC_DRAGMOVE, 0);
  end;
end;


Hab ich vor ner Weile mal auf www.delphicorner.f9..../articles/forms2.htm gefunden und das ganze funktioniert zumindest bei mir einwandfrei;
boozzz Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 66

Win XP, Win 2000, SuSe Linux

BeitragVerfasst: Fr 03.02.06 16:46 
Vielen Dank LLCoolDave, es funktioniert Bestens. :)
rd3
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 03.02.06 17:13 
Hallo,

Ich kann auch CoolForm empfehlen. Einfach Kompoente installieren und aufs Formular platzieren. Das Gute ist, man kann Bereiche transparent machen über Masken, die man z.B. in einem Bildbearbeitungsprogramm erstellt hat. So kann man schöne Oberflächen erstellen und verschieben...

==> www.torry.net/quicks...olform&Title=Yes

Gruß
Ralph

ps. funzt auch in neueren Versionen als Delphi 6!