AGB  ·  Datenschutz  ·  Impressum  







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

Wie schnell reagiert Delphi

Ein Thema von taktaky · begonnen am 30. Sep 2007 · letzter Beitrag vom 18. Okt 2007
Antwort Antwort
Seite 1 von 2  1 2      
taktaky
(Gast)

n/a Beiträge
 
#1

Wie schnell reagiert Delphi

  Alt 30. Sep 2007, 16:35
Hallo,

was muss man tun, damit Delphi schnell reagiert ?
ich habe z.B. ein Panel1 erstellt, das auf MouseOver reagiert, leider wenn ich den Cursor darüber sehr schnell anfahre, dann passiert nichts, nur wenn ich den Cursor langsam bewege !!!
Delphi-Quellcode:
procedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
ShowMessage('ich habe dich erwischt');
end;
Delphi kann nie den Cursor erwischen !!!


____
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.539 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Wie schnell reagiert Delphi

  Alt 30. Sep 2007, 17:05
Das ist kein Delphi- sondern ein Windows-Problem.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#3

Re: Wie schnell reagiert Delphi

  Alt 30. Sep 2007, 17:12
Kann ich nicht nachvollziehen. Habs grad mit WinXP Pro und D5 Pro ausprobiert und ich kann gar nicht schnell genug mit dem Cursor über das Panel huschen, dass keine Meldung erscheint. Vielleicht ist deine CPU-Auslastung einfach ziemlich hoch?
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#4

Re: Wie schnell reagiert Delphi

  Alt 30. Sep 2007, 17:12
Wenn du den Cursor mal schnell bewegst, wirst du feststellen, dass er sich nicht flüssig von A nach B bewegt, sondern springt. Genauere Daten kommen nicht herein. Wenn dein Panel also genau zwischen zwei Mauspositionen liegt, bekommt es keine Meldung. Es gibt normalerweise auch keine Notwendigkeit, auf solche Bewegungen zu reagieren.

@malo, roter Kasten: Mach das Panel mal relativ klein, dann wirst du's schon sehen.
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
taktaky
(Gast)

n/a Beiträge
 
#5

Re: Wie schnell reagiert Delphi

  Alt 30. Sep 2007, 17:16
Zitat von DeddyH:
Das ist kein Delphi- sondern ein Windows-Problem.
Ok, und was kann man dafür machen?
Ich habe versucht mit einem Timer das Problem zu lösen, leider immer noch nicht geschaft

---
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.539 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Wie schnell reagiert Delphi

  Alt 30. Sep 2007, 17:21
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if not PtInRect(Rect(Left,Top,Left + Width, Top + Height),Mouse.CursorPos) then
    Close;
end;
So z.B.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
taktaky
(Gast)

n/a Beiträge
 
#7

Re: Wie schnell reagiert Delphi

  Alt 30. Sep 2007, 17:22
Zitat von malo:
Kann ich nicht nachvollziehen. Habs grad mit WinXP Pro und D5 Pro ausprobiert und ich kann gar nicht schnell genug mit dem Cursor über das Panel huschen, dass keine Meldung erscheint. Vielleicht ist deine CPU-Auslastung einfach ziemlich hoch?
Vielleicht hast Du das Panel Breit gemacht. Mach das Panel klein wie ein Button und noch einmal ausprobieren

---
  Mit Zitat antworten Zitat
taktaky
(Gast)

n/a Beiträge
 
#8

Re: Wie schnell reagiert Delphi

  Alt 30. Sep 2007, 17:36
Zitat von DeddyH:
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if not PtInRect(Rect(Left,Top,Left + Width, Top + Height),Mouse.CursorPos) then
    Close;
end;
So z.B.
Schon ausprobiert und funktioniert sehr gut .

Ich wollte den selben Code um das Form2 aufzurufen (und zu beenden), dann wird das Form2 zwar aufgerufen auch wenn ich sehr schnell den Cursor bewege, erscheint aber danach eine Fehlermeldung:
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if PtInRect(Rect(Left,Top,Left + Width, Top + Height),Mouse.CursorPos) then
    Form2.ShowModal();
end;
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.539 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Wie schnell reagiert Delphi

  Alt 30. Sep 2007, 17:42
Das war der Code für Form2, um es beim Verlassen zu beenden (auch wenn Form1 da steht).
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
taktaky
(Gast)

n/a Beiträge
 
#10

Re: Wie schnell reagiert Delphi

  Alt 30. Sep 2007, 23:24
Ja Form2 wird wie gewünscht beendet mit Timer1
Ich muss aber auch das Form2 mit einem anderen Timer genauso einblenden lassen

Wie kann ich nun Form2 aufrufen, wenn der Cursor auf Panel2 kommt?
Aber genuso mit einem anderen Timer und nicht so:
Delphi-Quellcode:
procedure TForm1.Panel2MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
  begin
Form2.ShowModal();

end;
Oder stimmt was @OregonGhost gesagt hat und können wir dafür nicht machen ?

Also mit dem Code kann ich Form2 einblenden, wenn der Cursor auf Form1 kommt.
Ich möchte aber das Form2 einblenden, wenn der Cursor auf Panel2 kommt und nicht auf Form1 :
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if PtInRect(Rect(Left,Top,Left + Width, Top + Height),Mouse.CursorPos) then
    Form2.ShowModal();
end;
Leider kann man keinen Timer auf Panel anlegen.


-----------
Miniaturansicht angehängter Grafiken
timer1-auf-panel-nicht-moeglich_963.jpg  
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 13:13 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