AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Verschieben der Form verhindern

Ein Thema von Sergej · begonnen am 13. Sep 2005 · letzter Beitrag vom 14. Sep 2005
Antwort Antwort
Sergej

Registriert seit: 12. Jun 2003
Ort: Stuttgart
169 Beiträge
 
#1

Verschieben der Form verhindern

  Alt 13. Sep 2005, 16:54
Tag. Wie kann ich verhindern, dass eine Form verschoben wird. Ich habe es schon mit dem OnMove-Event versucht, und dort beim Verschieben einfach wieder die gewünschte Position eingestellt. Allerdings ist dies keine zufriedenstellende Lösung, da sie ein unschönes Flackern verursacht.

Greetz Sergej
Ceterum censeo cartaginem esse delendam
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Verschieben der Form verhindern

  Alt 13. Sep 2005, 16:57
Die Eigenschaft Locked sperrt IMHO das Verschieben und das Größeverändern der Form.

Grüße
Faux

NACHTRAG:
OK, anscheinend doch nicht.
In der Beschreibung der Eigenschaft steht jedoch: "The locked property determines if we can move or resize the control". Daraus habe ich die Behauptung angenommen....
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
Sergej

Registriert seit: 12. Jun 2003
Ort: Stuttgart
169 Beiträge
 
#3

Re: Verschieben der Form verhindern

  Alt 13. Sep 2005, 17:01
Locked funktioniert nur zur Designzeit in der IDE

Greetz Sergej
Ceterum censeo cartaginem esse delendam
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Verschieben der Form verhindern

  Alt 13. Sep 2005, 17:02
Zitat von Sergej:
Locked funktioniert nur zur Designzeit in der IDE

Greetz Sergej
LOL, wo liegt dann der Sinn dieser Eigenschaft?
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Verschieben der Form verhindern

  Alt 13. Sep 2005, 17:03
Hallo

Align auf alCustom setzen, sollte diesen Zweck erfüllen. Doch ich glaube, die Größe des Formulars lässt sich dann auch nicht mehr ändern.

Nachtrag: Doch, die Größe kann man weiterhin verändern.


Ach ich Depp, ich war wieder bei Delphi Sorry, ich hätte wissen müssen, dass du mit C# hantierst.
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Verschieben der Form verhindern

  Alt 13. Sep 2005, 17:04
Ich hab nichtmal ein Align bei einer WinForm...
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
Sergej

Registriert seit: 12. Jun 2003
Ort: Stuttgart
169 Beiträge
 
#7

Re: Verschieben der Form verhindern

  Alt 13. Sep 2005, 17:05
Zitat von faux:
LOL, wo liegt dann der Sinn dieser Eigenschaft?
Na damit du z.B. deine mühsam zusammengebröselten Controls nicht mehr verschieben kannst. Find ich ganz praktisch, denn ich hab mich früher ( ) in Delphi öfters mal verklickt, und schon war das label nicht mehr da wo es sein sollte...Naja ist halt ne Spielerei, aber zurück zum Problem....

@Matze : Kein Problem


Greetz Sergej
Ceterum censeo cartaginem esse delendam
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#8

Re: Verschieben der Form verhindern

  Alt 13. Sep 2005, 17:18
hallo Sergej,

Borderstyle := None kann mann machen.
ist aber nicht die schönste Lösung

raik
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
Sergej

Registriert seit: 12. Jun 2003
Ort: Stuttgart
169 Beiträge
 
#9

Re: Verschieben der Form verhindern

  Alt 13. Sep 2005, 17:29
Ja hab ich mir auch schon überlegt, nur hätte ich gerne eine Titelleiste. Trotzdem danke.


Greetz Sergej
Ceterum censeo cartaginem esse delendam
  Mit Zitat antworten Zitat
Sergej

Registriert seit: 12. Jun 2003
Ort: Stuttgart
169 Beiträge
 
#10

Re: Verschieben der Form verhindern

  Alt 14. Sep 2005, 00:01
Hier kommt die Lösung:


Zitat von George Shepherd's Windows Forms FAQ:

protected override void WndProc(ref Message m)
{
const int WM_NCLBUTTONDOWN = 161;
const int WM_SYSCOMMAND = 274;
const int HTCAPTION = 2;
const int SC_MOVE = 61456;

if ( (m.Msg == WM_SYSCOMMAND) && (m.WParam.ToInt32() == SC_MOVE) )
return;
if ( (m.Msg == WM_NCLBUTTONDOWN) && (m.WParam.ToInt32() == HTCAPTION) )
return;

base.WndProc (ref m);
}
Man muss einfach die WndProc Methode der Formklasse überschreiben...hat mich ja nur schlappe 6 Stunden gekostet


Greetz Sergej
Ceterum censeo cartaginem esse delendam
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:54 Uhr.
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