Autor Beitrag
DelphiManiac
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Mi 29.08.07 11:27 
Hallo,

gibt es irgendeine Möglichkeit sich über das loslassen der Maustaste über einer Komponente (die Kein MouseUP Event hat) informieren zu lassen?

Mein Problem: ich nutze ein TJVSpinEdit.

Ein Editfeld der Jedis mit dem man auch Floatwerte darstellen kann, in dem Editfeld rechts hat man Up/Down Buttons (kennt mitsicherheit jeder) die zu hoch/runter zählen benutzt werden.

Nun das Edifeld als solche bietet mir ja ein MouseUP Event an, aber das bringt mir nichts, da ich ja das Event für die Buttons brauche.

Also Benutzer hält die Linke Maustaste gedrückt über dem (Bsp:) Hochzählen Button und lässt sie dann (irgendwann) los ,das muss ich erkennen können.

Danke schonmal...

//EDIT: Hatte MouseDown anstatt MouseUP geschrieben


Zuletzt bearbeitet von DelphiManiac am Mi 29.08.07 11:55, insgesamt 1-mal bearbeitet
chrisw
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 439
Erhaltene Danke: 3

W2K
D7
BeitragVerfasst: Mi 29.08.07 11:50 
Wie wärs mit dem OnMouseUP Event ?

_________________
Man sollte keine Dummheit zweimal begehen, die Auswahl ist schließlich groß genug.
DelphiManiac Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Mi 29.08.07 11:58 
Hi chrisw
user profile iconchrisw hat folgendes geschrieben:
Wie wärs mit dem OnMouseUP Event ?


Ja leider gibt es kein MouseUp/Down Event für die Buttons des Editfeldes, das ist ja mein Problem:
Einloggen, um Attachments anzusehen!
chrisw
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 439
Erhaltene Danke: 3

W2K
D7
BeitragVerfasst: Mi 29.08.07 12:02 
Versteh ich nicht !

Wenn ich Abfangen möchte, ob die linke Maustaste losgelassen wurde kann ich das doch im OnMouseUp abfangen !

Bsp.:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
procedure Tform1.JvSpinEdit1MouseUp(....);
begin
  if Button = mbLeft then ....
end;

_________________
Man sollte keine Dummheit zweimal begehen, die Auswahl ist schließlich groß genug.
DelphiManiac Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Mi 29.08.07 12:11 
user profile iconchrisw hat folgendes geschrieben:
Versteh ich nicht !

Wenn ich Abfangen möchte, ob die linke Maustaste losgelassen wurde kann ich das doch im OnMouseUp abfangen !

Bsp.:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
procedure Tform1.JvSpinEdit1MouseUp(....);
begin
  if Button = mbLeft then ....
end;


Leider geht dies so nicht, da dieses Event nur ausgelöst wird, wenn die Maustaste über dem Editfeld (und nicht über dem [integriertem] Up/Down Tasten losgelassen wurde
Einloggen, um Attachments anzusehen!
DelphiManiac Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Mi 29.08.07 13:38 
Hat den keiner eine Idee, wie man das lösen könnte?

Danke euch...
chrisw
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 439
Erhaltene Danke: 3

W2K
D7
BeitragVerfasst: Mi 29.08.07 14:15 
OnBottomClick und OnTopClick sind nicht ausreichend ?
Dann musst Du wohl eine neue Komponente ableiten.

_________________
Man sollte keine Dummheit zweimal begehen, die Auswahl ist schließlich groß genug.
DelphiManiac Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Mi 29.08.07 14:53 
user profile iconchrisw hat folgendes geschrieben:
OnBottomClick und OnTopClick sind nicht ausreichend ?
Dann musst Du wohl eine neue Komponente ableiten.


Hi ja genau das wollte/will ich tun, habe jedoch noch nicht sonderlich viel Erfahrung in der Komponentenerstellung.
Also die Buttons haben ja irgendwann mal von TControl geerbt, und TControl hat ja ein MouseUp Event, aber dieses wird wohl nicht durchgereicht, und ist sowie ich das sehe private, wird also dann in meiner Komponente auch nicht verfübar sein,oder??

Gruß
und Danke schonmal
Jakob_Ullmann
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1747
Erhaltene Danke: 15

Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
BeitragVerfasst: Mi 29.08.07 16:55 
Das könntest du doch auch mit GetAsyncKeystate machen:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
if GetAsyncKeystate(VK_RBUTTON) => 0 then
begin
  // rechte Maustaste wurde losgelassen
end;
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19325
Erhaltene Danke: 1749

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 29.08.07 18:51 
Wenn du dir den Quelltext der JEDI-Komponente (in JvSpin.pas) mal ansiehst, dann siehst du, dass das da bereits vorhanden ist, dass das aber nicht in die äußere Komponente weitergegeben wird. Du müsstest also die Datei kopieren, den Komponentennamen ändern und die Funktionalität dementsprechend ändern können.
DelphiManiac Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Do 30.08.07 11:38 
jaenicke:

Hi ja da hast du Recht so müsste ich es machen, habe leider noch nicht so viel Erfahrung was Komponentenentwicklung angeht, ich habe mir die Datei jetzt mal kopiert und umbenannt.

Da wird natürlch ganz schön viel vereerbt..., was das ganze nicht unbedingt leichter macht,
vielleicht kannst du (oder alle anderen) mir ja ein wenig helfen, bei der Implementierung.

Gruß
DelphiManiac
DelphiManiac Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Do 30.08.07 11:52 
Jakob_Ullmann:

Wie würde ich es denn mit GetAsyncKey lösen können?

Gruß
DelphiManiac