Delphi-PRAXiS
Seite 2 von 2     12   

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 Verbieten, dass Form über die Ränder geschoben wird? (https://www.delphipraxis.net/147368-verbieten-dass-form-ueber-die-raender-geschoben-wird.html)

himitsu 7. Feb 2010 09:58

Re: Verbieten, dass Form über die Ränder geschoben wird?
 
- du reagierst auf das Verschieben
- wenn der Benutzer fertig mit verschieben ist, dann
(also MSDN-Library durchsuchenWM_MOVE und nicht MSDN-Library durchsuchenWM_MOVING)
- nachsehn, in welchem Monitor der größte Teil des Fensters nun liegt
- und das Fenster dann so verschieben, daß es innerhalb der Grenzen dieses Monitors liegt

SirThornberry 7. Feb 2010 10:33

Re: Verbieten, dass Form über die Ränder geschoben wird?
 
@himitsu: WM_MOVING ist schon richtig. Denn warum erst abwarten bis der Nutzer fertig ist und dann korrigieren wenn man während des Verschiebens bereits verhindern kann das "falsch" verschoben wird.

AlexII 7. Feb 2010 10:38

Re: Verbieten, dass Form über die Ränder geschoben wird?
 
Und wie ist es standardmäßig? Wenn ich nix schreibe ist es dann möglich zwischen den Bildschirmen zu navigieren?

himitsu 7. Feb 2010 11:11

Re: Verbieten, dass Form über die Ränder geschoben wird?
 
Zitat:

Zitat von SirThornberry
Denn warum erst abwarten bis der Nutzer fertig ist

z.B. wenn der Benutzer die Form in einen anderen Monitor verschieben will?

Wenn man dieses schon im Keim verhindert, und die Form nicht aus dem Monitor ausläßt, dann kommt man nur schwer in ein anderen Monitor rein. :zwinker:

SirThornberry 7. Feb 2010 11:43

Re: Verbieten, dass Form über die Ränder geschoben wird?
 
@himitsu: Was spricht dagegen im wm_moving zu zulassen das jemand zwischen den Monitoren hinn und her schiebt?

hathor 7. Feb 2010 14:51

Re: Verbieten, dass Form über die Ränder geschoben wird?
 
Zum Thema WM_Moving:
http://delphi.about.com/od/formsdial...ock_screen.htm

AlexII 7. Feb 2010 20:51

Re: Verbieten, dass Form über die Ränder geschoben wird?
 
Hab das jetzt so gemacht:

Delphi-Quellcode:
  if (FormLeftPos<1) or (FormTopPos<1) or (FormLeftPos>(Screen.Width-576)) or (FormTopPos>(Screen.Height-303)) then
  begin
  Form1.Position:=poDesktopCenter;
  end else
      begin
      Form1.Left:=FormLeftPos;
      Form1.Top:=FormTopPos;
      end;
Man kann zwischen den Bildschirmen navigieren und falls man die Auflösung ändern so, dass das Prog über den "Rändern" bleibt, wird es in die Mitte gestellt. Ich denke, dass ist die beste Lösung.


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

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