AGB  ·  Datenschutz  ·  Impressum  







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

Mauszeiger ausblenden

Ein Thema von ninja · begonnen am 22. Dez 2003 · letzter Beitrag vom 23. Dez 2003
Antwort Antwort
ninja

Registriert seit: 3. Mär 2003
90 Beiträge
 
Delphi 6 Personal
 
#1

Mauszeiger ausblenden

  Alt 22. Dez 2003, 20:39
hallo,
gibt es die möglichkeit die maus ausserhalb eines panels auszublenden, oder die mausposition nur auf das panel zubegrenzen??
gruß ninja
  Mit Zitat antworten Zitat
Benutzerbild von phlux
phlux

Registriert seit: 4. Nov 2002
Ort: Witten
1.335 Beiträge
 
Delphi 6 Personal
 
#2

Re: Mauszeiger ausblenden

  Alt 22. Dez 2003, 21:03
Joah das geht
Das einfangen des Cursors jetz.

Also zuerst musst du dirn Rect erstellen in dem der Mauszeiger eingesperrt werden soll, das erstellen wir mit der Maße und der Position eines Panels (Panel1):
Delphi-Quellcode:
var
  aRect: TRect;

//Jetz zum einsperren:
begin
  with aRect do
  begin
    Left := Panel1.Left;
    Top := Panel1.Top;
    Right := Panel1.Left + Panel1.Width;
    Bottom := Panel1.Top + Panel1.Height;
  end;
  ClipCursor(@aRect);
end;

//Jetz zum freilassen
begin
  ClipCursor(nil);
end;
Löls* einfach mal so runtergehackt, keine Garantie obs fehlerfrei ist, falls es Prob oder Frage gibt einfach fragen

mfg phlux
Christian "phlux" Arndt
  Mit Zitat antworten Zitat
Florian H

Registriert seit: 30. Mär 2003
Ort: Mühlacker
1.043 Beiträge
 
Delphi 6 Professional
 
#3

Re: Mauszeiger ausblenden

  Alt 22. Dez 2003, 21:14
Oder wenn du den Mauszeiger ausblenden willst, machst du panel1.cursor := crNone;
Florian Heft
  Mit Zitat antworten Zitat
Benutzerbild von phlux
phlux

Registriert seit: 4. Nov 2002
Ort: Witten
1.335 Beiträge
 
Delphi 6 Personal
 
#4

Re: Mauszeiger ausblenden

  Alt 22. Dez 2003, 21:25
Er will es aber ausserhalb des Panels ausblenden lassen
Christian "phlux" Arndt
  Mit Zitat antworten Zitat
ninja

Registriert seit: 3. Mär 2003
90 Beiträge
 
Delphi 6 Personal
 
#5

Re: Mauszeiger ausblenden

  Alt 22. Dez 2003, 22:15
Zitat von phlux:
Joah das geht
Das einfangen des Cursors jetz.

Also zuerst musst du dirn Rect erstellen in dem der Mauszeiger eingesperrt werden soll, das erstellen wir mit der Maße und der Position eines Panels (Panel1):
Delphi-Quellcode:
var
  aRect: TRect;

//Jetz zum einsperren:
begin
  with aRect do
  begin
    Left := Panel1.Left;
    Top := Panel1.Top;
    Right := Panel1.Left + Panel1.Width;
    Bottom := Panel1.Top + Panel1.Height;
  end;
  ClipCursor(@aRect);
end;

//Jetz zum freilassen
begin
  ClipCursor(nil);
end;
Löls* einfach mal so runtergehackt, keine Garantie obs fehlerfrei ist, falls es Prob oder Frage gibt einfach fragen

mfg phlux
hallo, danke für die schnelle antwort.
ich habe diesen code in meinem 2.formular eingebaut in FormCreate.
es schein zufunktionieren, allerdings auch auf dem 1.Formular, was zuerst gestartet wird.
und das mit dem freilassen hab ich nicht ganz verstanden.
gruß ninja
  Mit Zitat antworten Zitat
Benutzerbild von phlux
phlux

Registriert seit: 4. Nov 2002
Ort: Witten
1.335 Beiträge
 
Delphi 6 Personal
 
#6

Re: Mauszeiger ausblenden

  Alt 23. Dez 2003, 15:02
Zitat von ninja:
hallo, danke für die schnelle antwort.
ich habe diesen code in meinem 2.formular eingebaut in FormCreate.
es schein zufunktionieren, allerdings auch auf dem 1.Formular, was zuerst gestartet wird.
Hi!
Also du musst dir das ganze so vorstellen das wir mit diesem Rect ein unsichtbares Rechteck erzeugen was eigentlich willkürlich auf dem Bildschirm liegen kann. Wir erzeugen jetzt dieses Rechteck an der Position deines Panels mit genau den gleichen Werten für die Breite und die Höhe, es sieht also so aus also ob der Mauszeiger in dem Panel gefangen ist, in wirklichkeit ist er jedoch im Rechteck gefangen. Was genau auf dem Panel liegt.
Das der Mauszeiger bereits beim erstellen von Form1 in unserem Rechteck gefangen ist liegt vermutlich daran das du die Prozedur zum einsperren im OnCreate deiner 2ten Form reingepackt hast. Da beide Forms, so denke ich, beim starten deines Progs erzeugt werden wird auch der OnCreate Code deiner 2ten Form beim starten ausgeführt, richtig wäre es wohl den Code zum einsperren des Zeigers in dem OnShow Event deiner 2ten Form unterzubringen.
Zitat:
und das mit dem freilassen hab ich nicht ganz verstanden.
Was genau hast du daran nicht verstanden? Also Du hebst damit einfach nur die Einschränkung wie weit sich der MZ bewegen kann wieder auf. Am besten ist es wenn du diesen Event in den OnHide Event deiner 2ten Form schreibst damit du den Mauszeiger beim Verstecken deiner 2ten Form wieder ganz nutzen kannst .

mfg phlux
Christian "phlux" Arndt
  Mit Zitat antworten Zitat
ninja

Registriert seit: 3. Mär 2003
90 Beiträge
 
Delphi 6 Personal
 
#7

Re: Mauszeiger ausblenden

  Alt 23. Dez 2003, 16:12
hallo,
danke nochmal.
ich hatte nicht verstanden welchem ereignis ich das freilassen zuordnen mußte.
ich hatte natürlich alles dem formcreate zugeordnet, jetzt habe ich es so gemacht wie du gesagt hast, und es funktioniert.
thx ninja
  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 16:58 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