![]() |
Re: Fenster "unverschiebbar" machen
Zitat:
|
Re: Fenster "unverschiebbar" machen
Zitat:
|
Re: Fenster "unverschiebbar" machen
Zitat:
2tens): bei mir will die funktion nich ;)
Delphi-Quellcode:
geht leider nich. form kann man trotzdem noch verschieben. :/
procedure WMMoving(var msg : TMessage); message WM_MOVING;
procedure TFormMain.WMMoving(var msg : TMessage); begin msg.Result := 0; end; |
Re: Fenster "unverschiebbar" machen
Moin phXql,
fang doch WM_NCHITTEST ab, und für den Fall, das jemand in die Titelleiste klickt wird zurückgegeben, dass es im Clientbereich war ;-)
Delphi-Quellcode:
PS:
type
TForm1 = class(TForm) private public procedure WMNCHITTEST(var msg : TMessage); message WM_NCHITTEST; end; implementation procedure TForm1.WMNCHITTEST(var msg: TMessage); begin inherited; if msg.Result = HTCAPTION then msg.Result := HTCLIENT; end; Über das Systemmenü des Formulares geht es dann allerdings immer noch :? Seltsamer Weise funktioniert
Delphi-Quellcode:
nämlich nicht. Mit SC_CLOSE ginge es :gruebel:
EnableMenuItem(GetSystemMenu(self.Handle,false),SC_MOVE,MF_BYCOMMAND or MF_GRAYED);
|
Re: Fenster "unverschiebbar" machen
wenn es über das systemmenü noch geht, isses nich so schön. aber trotzdem danke :) ich hab jetzt vorrübergehend mal das align auf alCustom gestellt, bis mir entweder einfällt, wie mans lösen könnte, oder mir einfällt, wieso das WM_MOVING-dings nich will... :)
|
Re: Fenster "unverschiebbar" machen
Erstmal muss ich mich Entschuldigen:
Weise bitte Result bei WM_MOVING eine 1 zu. Zu der WM_NCHITTEST Variante: Die gefällt mir nicht. Da dadurch auch der Rechtsklick nicht mehr das Popup-Fenster anzeigt. |
Re: Fenster "unverschiebbar" machen
Moin Neolithos,
Zitat:
Das funktioniert dann noch. |
Re: Fenster "unverschiebbar" machen
Zitat:
Du sagst doch, wenn die Titelleiste angeklickt wird, dass die Titelleiste Client-Area ist. Dadurch sollte doch das Systemmenu nicht mehr durch Rechtsklick auf die Titelleiste angezeigt werden. Ein weiterer Nachteil ist, dass du nicht auf die Verschiebungen mittels Tastatur reagierst. Ein Nachteil meiner Variante ist, dass dieses graue Rechteck, eventuell angezeigt werden könnte. |
Re: Fenster "unverschiebbar" machen
Moin Neolithos,
Zitat:
Wenn mir mal jemand verraten könnte, wo ich beim EnableMenuItem mit SC_MOVE den Denkfehler mache (zumal es mit SC_CLOSE einwandfrei funktioniert). :gruebel: |
Re: Fenster "unverschiebbar" machen
Zitat:
OT: wie kann man denn nun ein fenster mit der tastatur verschieben? :mrgreen: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:48 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