AGB  ·  Datenschutz  ·  Impressum  







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

Cursor in Mitte

Offene Frage von "answer"
Ein Thema von Mitternachtsfalke · begonnen am 10. Jun 2004 · letzter Beitrag vom 17. Sep 2004
Antwort Antwort
Benutzerbild von Mitternachtsfalke
Mitternachtsfalke

Registriert seit: 3. Dez 2003
54 Beiträge
 
Delphi 6 Enterprise
 
#1

Cursor in Mitte

  Alt 10. Jun 2004, 11:36
Hallo
Wie kann ich erreichen, dass der Cursor immer in der Mitte der Form bleibt und
entsprechend scrollt wenn ich die Maus bewege?

gruß 'FALKE
Im Falle eines Falles ist richtig fallen alles
  Mit Zitat antworten Zitat
answer

Registriert seit: 15. Sep 2004
Ort: Barlin
3 Beiträge
 
Delphi 3 Professional
 
#2

Re: Cursor in Mitte

  Alt 15. Sep 2004, 13:27
HI!
Mich interresiert das auch. So etwas wie in Moorhuhn oder so.
Tschau.
p.s.Ich hoffe, dass bald mal ein paar Antworten kommen.
  Mit Zitat antworten Zitat
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#3

Re: Cursor in Mitte

  Alt 15. Sep 2004, 13:37
Das könnt so gehen:
Delphi-Quellcode:
var
  setself: boolean = false;
//...
procedure Form1.OnMouseMove(...);
begin
  setself := not setself;
  if setself do begin
    //Verschieben um x und y (parameter);
    SetCursorPos(MitteDesForms);
  end;
end;
das setself brauchts, da ansonsten durch SetCursorPos das OnMouseMove wieder ausgelöst werden würde, obwohl der benutzer die maus gar nicht bewegt hat. (wär das auch endlosrekursion?)
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat
Benutzerbild von SleepyMaster
SleepyMaster

Registriert seit: 18. Mai 2003
634 Beiträge
 
#4

Re: Cursor in Mitte

  Alt 15. Sep 2004, 15:46
Delphi-Quellcode:
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  if (X <> Screen.Width div 2)or(Y <> Screen.Height div 2)then
    begin
    if Y > Screen.Height div 2 then
      Memo1.Lines.Add('Scroll Down');
    if Y < Screen.Height div 2 then
      Memo1.Lines.Add('Scroll Up');
    SetCursorPos(Screen.Width div 2, Screen.Height div 2);
    end;
end;
Hab nur keine Ahnung was du scrollen willst - das mit dem scrollen musst du also selber machen!
  Mit Zitat antworten Zitat
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#5

Re: Cursor in Mitte

  Alt 15. Sep 2004, 16:01
Zitat von SleepyMaster:
Delphi-Quellcode:
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  if (X <> Screen.Width div 2)or(Y <> Screen.Height div 2)then
    begin
    if Y > Screen.Height div 2 then
      Memo1.Lines.Add('Scroll Down');
    if Y < Screen.Height div 2 then
      Memo1.Lines.Add('Scroll Up');
    SetCursorPos(Screen.Width div 2, Screen.Height div 2);
    end;
end;
Hab nur keine Ahnung was du scrollen willst - das mit dem scrollen musst du also selber machen!
Des geht net ganz gut
Das OnMouseMove wird aufgrund des SetCursorPos unendlich lang aufgerufen, auch wenn die Maus nur einmal bewegt wurde.
Lösung: Siehe mein Beitrag oben
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat
Benutzerbild von SleepyMaster
SleepyMaster

Registriert seit: 18. Mai 2003
634 Beiträge
 
#6

Re: Cursor in Mitte

  Alt 15. Sep 2004, 16:41
Hast vollkommen recht (böse VCL war Schuld! )

Muss so aussehen:

Delphi-Quellcode:
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var
  P: TPoint;
  SY, SX: DWORD;
begin
  SX := GetSystemMetrics(SM_CXSCREEN);
  SY := GetSystemMetrics(SM_CYSCREEN);
  GetCursorPos(P);

  if (P.X <> SX div 2)or(P.Y <> SY div 2)then
    begin
    if Y > SY div 2 then
      Memo1.Lines.Add('Scroll Down');
    if Y < SY div 2 then
      Memo1.Lines.Add('Scroll Up');
    SetCursorPos(SX div 2, SY div 2);
    end;
end;
  Mit Zitat antworten Zitat
answer

Registriert seit: 15. Sep 2004
Ort: Barlin
3 Beiträge
 
Delphi 3 Professional
 
#7

Re: Cursor in Mitte

  Alt 17. Sep 2004, 15:01
Danke für die vielen Beiträge, aber ich habe Delphi 3. Da funktioniert fast kein Programm. .Könnte mir trotzdem jemand bitte Helfen. Ich meine, dass ein Bild im Hintergrund scrollt und der Cursor immer in der Mitte ist.
  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 09:31 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