![]() |
Form lässt sich nicht verschieben
:wall:
Hallo Freunde, ich habe eine TForm die lässt im Programm nicht Verschieben, also mit gedrücktem linken Mauszeiger. Woran kann das liegen? |
Re: Form lässt sich nicht verschieben
Zitat:
![]() |
Re: Form lässt sich nicht verschieben
Ich glaube das würde hinkommen. Nur wo kann ich das wieder raus machen?
Alle fenster lassen sich nur über Imagebuttons betätigen und die standart Windows Border sind ausgeschaltet. Nun brauche ich aber ein Fenster das ich verschieben kann und das geht nicht. |
Re: Form lässt sich nicht verschieben
Zitat:
|
Re: Form lässt sich nicht verschieben
Ja, der BorderStyle war auf bsNone. Dann habe ich den auf bsSingle gemacht.
Nun zeigt er mir das Form als Windows-Fenster im Programm an, jeddoch kann ich es nicht verschieben. |
Re: Form lässt sich nicht verschieben
Überhaupt funktioniert dir Ganze Form-Kopf nicht. Also Schließen, Maximieren, Minimiren.
|
Re: Form lässt sich nicht verschieben
Moin, Moin,
zum Verständnis: Du hast ein Programm und auch den Source, hast es aber nicht selbst geschrieben - korrekt? |
Re: Form lässt sich nicht verschieben
Ich vermute, es wird auf WM_NCHITTEST reagiert.
|
Re: Form lässt sich nicht verschieben
Joo, das ist schon recht wahrscheinlich...
|
Re: Form lässt sich nicht verschieben
Korrekt @ taaktaak!!!
Ich habe das Programm aus der Ukraine bekommen und nun will ich das ein bisschen bearbeiten. Bin leider kein 100% Delphianer. Somit habe ich an manchen stellen meine Schwierigkeiten. Der Programmierer in der Ukraine ist leider auch nicht mehr auffindbar und darum bin ich auf mich selber angewiesen. |
Re: Form lässt sich nicht verschieben
Nur eben falsch herum XD
Mal ein Versuch:
Delphi-Quellcode:
Falls ich nichts übersehen habe, sollte sich das Form dann auch ohne Titelbar verschieben lassen.
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; [edit] Jetzt hab ich das schon selber verdreht :oops: [/edit] |
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? |
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 |
Re: Form lässt sich nicht verschieben
Zeig doch mal den private-Abschnitt des Forms. Wir haben keine Lust, hier zu raten.
|
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.
|
Re: Form lässt sich nicht verschieben
Welche Windows-Botschaften werden denn vom Programm behandelt?
|
Re: Form lässt sich nicht verschieben
Delphi-Quellcode:
ICh glaube vielleicht hat das CMHitTest was damit zu tun.
private
procedure AssignStringGrid(sg : TStringGrid; AValues : GraphValues); procedure CMHitTest(var Msg : TCMHitTest); message WM_NCHITTEST; Also so war ist das in der Ursprungsform drin im quellcode. |
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; |
Re: Form lässt sich nicht verschieben
Kommentiere mal alles aus, was mit dem HitTesting zu tun hat.
|
Re: Form lässt sich nicht verschieben
Zitat:
|
Re: Form lässt sich nicht verschieben
JUNGS!!!! hegdl :-D
Hat geklappt als ich dieses dumme CMHitTest rausgenommen habe. Besten dank an Alle |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:24 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