AGB  ·  Datenschutz  ·  Impressum  







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

OnMouseDown Ereignis

Ein Thema von Yheeky · begonnen am 3. Aug 2002 · letzter Beitrag vom 5. Aug 2002
Antwort Antwort
Yheeky

Registriert seit: 7. Jun 2002
1.339 Beiträge
 
#1

OnMouseDown Ereignis

  Alt 3. Aug 2002, 00:50
Hi,

ich habe eine Image-Komponente und ein OnMouseDown Ereignis. Ich möchte jetzt, dass das Ereignis auftritt, wenn ich die Maus drücke, aber auch, wenn ich sie dann weiter gedrückt halte. Wie kann ich das machen?

Gruß Yheeky
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#2
  Alt 3. Aug 2002, 01:00
Moin Yheeky,

such mal hier im Forum nach GetAsyncKeyState.
Vielleicht ist der Code dort was für Dich.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Yheeky

Registriert seit: 7. Jun 2002
1.339 Beiträge
 
#3
  Alt 3. Aug 2002, 02:34
Hi Christian,

yo danke. Ich bin fündig geworden jedoch funktioniert das nicht so, wie ich gerne möchte. Kann man dabei vielleicht noch die Geschwindigkeit beeinflussen, da das Verarbeiten des Ereignisses jetzt viel zu schnell verläuft (ich möchte ein scrollen via Bild ermöglichen, aber jetzt gelangt die ListBox bereits mit einem klick ans Ende und das soll nicht sein).

Vielleicht kann mir dabei ja noch jemand helfen.

Gruß Yheeky
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#4
  Alt 3. Aug 2002, 02:44
Moin Yheeky,

dann mach das Ganze doch nicht im OnMouseDown, sondern im OnMouseMove.
Da kannst Du auch direkt den ShiftState abfragen, also ob denn nun die Linke Taste gedrückt ist oder nicht, und entsprechend reagieren.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Yheeky

Registriert seit: 7. Jun 2002
1.339 Beiträge
 
#5
  Alt 4. Aug 2002, 10:12
Aber ich möchte das ja nicht bei MouseMove machen - sprich nur wenn sich die Maus bewegt. Außerdem gibt´s die die Möglichkeit mit "Shift" die Maustaste abzufragen auch im OnMouseDown-Ereignis.

Gruß Yheeky
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#6
  Alt 4. Aug 2002, 11:48
Moin Yheeky,

jetzt hab' ich's hoffentlich verstanden.
Du willst solange Scrollen, wie die linke Taste gedrückt ist, ohne die Maus zu bewegen. (oder?)
Dann wirst Du wohl nur noch eine Verzögerung in die Schleife einbauen müssen, die Dir zu schnell läuft und gut.
In der Object Pascal Library haben wir dafür ein Beispiel von Luckie.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Yheeky

Registriert seit: 7. Jun 2002
1.339 Beiträge
 
#7
  Alt 4. Aug 2002, 20:45
Aha...wo da genau? Hab´s bisher noch nicht gefunden.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#8
  Alt 4. Aug 2002, 21:24
Moin Yheeky,

hier:

Library: Object-Pascal: Delay in Delphi
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Yheeky

Registriert seit: 7. Jun 2002
1.339 Beiträge
 
#9
  Alt 4. Aug 2002, 23:45
Achso da...ich habe woanders gesucht - nicht in der Library

Danke! Werde es gleich mal ausprobieren.

Gruß Yheeky
  Mit Zitat antworten Zitat
Yheeky

Registriert seit: 7. Jun 2002
1.339 Beiträge
 
#10
  Alt 5. Aug 2002, 01:18
Ich weiss nicht, aber irgendwie will das nicht so funktionieren wie ich das gerne möchte.

Code:
repeat
   delay(2000);
   if Anfang < 0 then
   begin
   Anfang := Anfang +1;
   Ende := Ende +1;
   Button1.Click;
   end;

until GetAsyncKeyState(VK_LBUTTON) = 0;

end;
So geht´s nicht. Wie gesagt möchte ich ein Scrollen realisieren. Der Anfangswert und der Endwert soll neu gesetzt werden und mit dem Buttonklick soll die ListBox neu gezeichnet werden.

Sorry, mir fällt im Moment nichts dazu ein, aber vielleicht kann mir ja jemand helfen.

Gruß Yheeky
  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 22:44 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