Delphi-PRAXiS
Seite 2 von 3     12 3      

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 Form lässt sich nicht verschieben (https://www.delphipraxis.net/108856-form-laesst-sich-nicht-verschieben.html)

DeddyH 20. Feb 2008 14:25

Re: Form lässt sich nicht verschieben
 
Nur eben falsch herum XD

Mal ein Versuch:
Delphi-Quellcode:
type
  TFormBlubb = class(TForm)
  ...
  private
    procedure WMNCHitest(var Msg: TWMNCHITTEST);
      message WM_NCHITTEST;
  ...
  end;

...

procedure TFormBlubb.WMNCHitest(var Msg: TWMNCHITTEST);
begin
  if Msg.Result = htClient then
    Msg.Result := htCaption;
end;
Falls ich nichts übersehen habe, sollte sich das Form dann auch ohne Titelbar verschieben lassen.

[edit] Jetzt hab ich das schon selber verdreht :oops: [/edit]

taaktaak 20. Feb 2008 14:34

Re: Form lässt sich nicht verschieben
 
Was ist denn das Ziel?
Geht es darum, es verschieben zu können, oder möchtest du die TitleBar wie in einem StandardWindow dargestellt haben?

daredd 20. Feb 2008 14:37

Re: Form lässt sich nicht verschieben
 
Das will auch nicht klappen. Komisch ist das Hauptmenü-Form lässt sich verschieben wenn ich bsSingle einstelle. @ DeddyH

Ja ich will es einfach nur verschieben können! @ taaktaak

DeddyH 20. Feb 2008 14:39

Re: Form lässt sich nicht verschieben
 
Zeig doch mal den private-Abschnitt des Forms. Wir haben keine Lust, hier zu raten.

Luckie 20. Feb 2008 14:41

Re: Form lässt sich nicht verschieben
 
Dann wird in der anderen Form ein Code sein, der das Verschieben unterbindet. Wie der aussehen könnte, wurde dir hier im Thread aufgezeigt. Finde ihn und lösche ihn.

taaktaak 20. Feb 2008 14:42

Re: Form lässt sich nicht verschieben
 
Welche Windows-Botschaften werden denn vom Programm behandelt?

daredd 20. Feb 2008 14:42

Re: Form lässt sich nicht verschieben
 
Delphi-Quellcode:
private
    procedure AssignStringGrid(sg : TStringGrid; AValues : GraphValues);
    procedure CMHitTest(var Msg : TCMHitTest);
    message WM_NCHITTEST;
ICh glaube vielleicht hat das CMHitTest was damit zu tun.
Also so war ist das in der Ursprungsform drin im quellcode.

daredd 20. Feb 2008 14:43

Re: Form lässt sich nicht verschieben
 
und hier die Procedure an sich:
Delphi-Quellcode:
procedure TFormBigGraph.CMHitTest(var Msg : TWMNCHitTest);
begin
     if PtInRect(Graph.ClientRect, Graph.ScreenToClient(Point(Msg.XPos, Msg.YPos))) then Msg.Result := HTCAPTION;
end;

DeddyH 20. Feb 2008 14:45

Re: Form lässt sich nicht verschieben
 
Kommentiere mal alles aus, was mit dem HitTesting zu tun hat.

Luckie 20. Feb 2008 14:45

Re: Form lässt sich nicht verschieben
 
Zitat:

Zitat von daredd
ICh glaube vielleicht hat das CMHitTest was damit zu tun.

Dann nimm ihn doch einfach mal raus und guck, was passiert. Deine Mutter wird dich schon deswegen nicht schlagen. ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:12 Uhr.
Seite 2 von 3     12 3      

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