Delphi-PRAXiS

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)

AlexII 6. Feb 2010 22:21


Verbieten, dass Form über die Ränder geschoben wird?
 
Verbieten, dass Form über die Ränder des Bildschirms geschoben wird?

Wie macht man das? Danke!

Luckie 6. Feb 2010 22:47

Re: Verbieten, dass Form über die Ränder geschoben wird?
 
http://msdn.microsoft.com/en-us/libr...8VS.85%29.aspx

AlexII 6. Feb 2010 22:55

Re: Verbieten, dass Form über die Ränder geschoben wird?
 
Ach du meine Güte, ich kann doch kein chinesisch. :roteyes:

omata 6. Feb 2010 22:57

Re: Verbieten, dass Form über die Ränder geschoben wird?
 
:?: Die Seite ist doch in englisch!

Custom 6. Feb 2010 22:58

Re: Verbieten, dass Form über die Ränder geschoben wird?
 
Würde es reichen wenn das Formular zurück "geschoben" werden würde? Dann könntest du es nämlich ganz einfach manuell machen!
Einfach per Screen.Widht und Screen.Height die Größe des Bildschirms auslesen und der Rest sind simple if Abfragen.

Matze 6. Feb 2010 22:58

Re: Verbieten, dass Form über die Ränder geschoben wird?
 
@Alex: Sei doch nicht so unbeholfen und suche eben in der DP danach: Hier im Forum suchenWM_MOVING da gibt es ausreichend Beispiele. :roll:
Wenn du es dann zusammenkopiert hast, kannst du deine Lösung hier gerne nochmals veröffentlichen, damit auch andere davon profitieren können.

AlexII 6. Feb 2010 23:02

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

Zitat von Matze
@Alex: Sei doch nicht so unbeholfen und suche eben in der DP danach: Hier im Forum suchenWM_MOVING da gibt es ausreichend Beispiele. :roll:
Wenn du es dann zusammenkopiert hast, kannst du deine Lösung hier gerne nochmals veröffentlichen, damit auch andere davon profitieren können.

Kann ich machen, aber man muss ja nen Begriff eingeben, woher sollte ich wissen, dass es Hier im Forum suchenWM_MOVING ist? :roteyes:

Ok hab schon was gefunden. Wie ist es eigentlich wenn man 2 Bildschirme hat, kann ich dann das Prog hin und her zwischen den Bildschirmen schieben?

omata 6. Feb 2010 23:04

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

Zitat von AlexII
...aber man muss ja nen Begriff eingeben, woher sollte ich wissen, dass es Hier im Forum suchenWM_MOVING ist? :roteyes:

Link?
Zitat:

Zitat von Luckie
http://msdn.microsoft.com/en-us/library/ms632632%28VS.85%29.aspx


Sir Rufo 6. Feb 2010 23:28

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

Zitat von AlexII
Ok hab schon was gefunden. Wie ist es eigentlich wenn man 2 Bildschirme hat, kann ich dann das Prog hin und her zwischen den Bildschirmen schieben?

Wenn du es programmierst -> Ja
Wenn nicht -> Nein

AlexII 7. Feb 2010 09:33

Re: Verbieten, dass Form über die Ränder geschoben wird?
 
Also wenn ich nix mache, kann man das :mrgreen:

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 10:26 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