Windows Form ohne Rahmen verschiebbar?

HORNSWOGGLE

C++ Beginner
Hi,

Wie kann ich eine Windows Form ohne Rahmen verschiebbar machen?:confused:

Erbitte um Antwort!

Das währe Liebenswürdig!:suspekt:

Danke!
 
Hab mal kurz was gebastelt

PHP:
        public Form1()
        {
            InitializeComponent();

            SetMouseEvents(this.Controls);
        }

        private void SetMouseEvents(Control.ControlCollection controls)
        {
            foreach (Control c in controls)
            {
                c.MouseDown += new MouseEventHandler(c_MouseDown);
                c.MouseUp += new MouseEventHandler(c_MouseUp);
                c.MouseMove += new MouseEventHandler(c_MouseMove);
                SetMouseEvents(c.Controls);
            }
        }

        void c_MouseMove(object sender, MouseEventArgs e)
        {
            if (moveEnabled)
                this.Location = new Point(Control.MousePosition.X - oldFormPosition.X, Control.MousePosition.Y - oldFormPosition.Y);
        }

        void c_MouseUp(object sender, MouseEventArgs e)
        {
            moveEnabled = false;
        }

        void c_MouseDown(object sender, MouseEventArgs e)
        {
            Control c=(Control)sender;
            moveEnabled = true;
            Point rec = c.PointToScreen(new Point(e.X, e.Y));
            oldFormPosition = new Point(rec.X - this.Location.X, rec.Y - this.Location.Y);
        }

        bool moveEnabled = false;
        Point oldFormPosition;

Bin selbst an einfacheren Möglichkeiten interessiert, falls nixs gibt, der Code sollte funktionieren.

Edit: oldFormPosition ist der Abstand der Maus zu den Fensterkoodrinaten, ohne das wäre das verschieben nicht ganz so schön.
Weiß nicht wie ichs besser erklären soll, einfach mal weglassen und sehen was dann geschieht :D
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück