![]() |
Maus auf einer Form einschränken!
Hallo Alle!
Wie kann ich die Maus auf einer Form so einschränken, dass nicht mehr rauf oder runter geht? Links und rechts soll davon nicht betroffen sein.
Delphi-Quellcode:
Klappt nicht. :-(
If X < 0 then
Mouse.CursorPos := Point(Top + Form1.Top + (Height- ClientHeight) div 2, Mouse.CursorPos.Y); Gruß Heike |
Re: Maus auf einer Form einschränken!
Hello Heike,
am besten ClipCursor verwenden; Beispiel:
Delphi-Quellcode:
// Einrichten
procedure TForm1.FormShow(Sender: TObject); var R:TRect; begin r:=Bounds(0, Top, Screen.Width, Height); ClipCursor(@r); end; // Spuk beenden procedure TForm1.FormHide(Sender: TObject); begin ClipCursor(nil); end; |
Re: Maus auf einer Form einschränken!
Zitat:
Ich würde es entweder wie Sunlight meine mit ClipCursor machen, oder in FormMouseMove den y-Wert immer wieder auf eine Konstante setzen. Auf welcher Höhe soll der Cursor denn fixiert werden? In der Mitte des ClientBereichs der Form? EDIT: @ Sunlight: Bei dem Code kann sich die Maus aber doch weiterhin hoch und runter bewegen. |
Re: Maus auf einer Form einschränken!
Also ich hab das so verstanden, als soll der Cursor nicht über und unter der Form sein können.
Falls ich mich irre:
Delphi-Quellcode:
:???:
// Einrichten
procedure TForm1.FormShow(Sender: TObject); var R:TRect; begin r:=Bounds(0, Top+Height div 2, Screen.Width, 0); ClipCursor(@r); end; // Spuk beenden procedure TForm1.FormHide(Sender: TObject); begin ClipCursor(nil); end; Zitat:
|
Re: Maus auf einer Form einschränken!
Zitat:
Ich habe das noch auf eine Form beschr.
Delphi-Quellcode:
Auch Dank an alle Anderen.
procedure TForm1.FormShow(Sender: TObject);
var R:TRect; begin r:=Bounds(Form1.Left, 400, Form1.Width, 4); ClipCursor(@r); end; Gruß Heike |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:18 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