AGB  ·  Datenschutz  ·  Impressum  







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

onClick und onMouseOver benutzen

Ein Thema von Privateer3000 · begonnen am 31. Dez 2007 · letzter Beitrag vom 2. Jan 2008
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
Delphi 10.4 Sydney
 
#1

onClick und onMouseOver benutzen

  Alt 31. Dez 2007, 11:31
Hi folks,

wenn man beide Ereignisse verarbeiten will
wie muss man es anstellen, dass zwischen
beiden unterschieden wird?
Wenn ich beiden eine funktion zuweise wird nur
onmouseover verarbeitet, das onclick-ereigniss
wird ignoriert. Trotz das ich dem onmousedown
das Shift-attribut zugewiesen habe...
Hintergund:
Onclick soll eine Aktion starten, mit mousedown
soll das verschieben der kompo aktiviert werden.

Grüßle
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat
Benutzerbild von Diamondback2007
Diamondback2007

Registriert seit: 2. Feb 2007
260 Beiträge
 
Delphi 2007 Professional
 
#2

Re: onClick und onMouseOver benutzen

  Alt 1. Jan 2008, 03:20
ich verstehe dein problem nicht so ganz...
willst du dem OnClick und dem OnMouseDown
die gleiche prozedur zuweisen oder iwie?
also wenn du eine OnClick und eine
OnMouseDown haben willst machst du im
Objectinspector bei der registerkarte
"Ereignisse" einfach einen doppelklick
auf das entsprechende ereignis...
de rest übernimmt die IDE für dich...

vielleicht kannst du dein problem noch
etwas genauer beschreiben, denn ich kann
ehrlich gesagt überhaupt nichts damit anfangen...

gruß
Fabian E.
  Mit Zitat antworten Zitat
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: onClick und onMouseOver benutzen

  Alt 1. Jan 2008, 19:23
das sind zwei verschiedene proceduren
onclick löst das eine aus zB. eine
berechnung, onmousedown aktiviert
das verschieben des buttons....
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: onClick und onMouseOver benutzen

  Alt 1. Jan 2008, 19:31
Erst (beim runterdrücken der Maustaste) wird onMousedown ausgeführt und wenn die Maustaste wieder losgelassen wird kommt onClick.

Edit: geht es jetzt um mousedown oder um mouseover?
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Benutzerbild von Aurelius
Aurelius

Registriert seit: 29. Jan 2007
Ort: Erfurt
753 Beiträge
 
Delphi 7 Personal
 
#5

Re: onClick und onMouseOver benutzen

  Alt 1. Jan 2008, 20:31
Ich nehm an es geht um MouseDown.

Man könnte das ganze mit einem Flag lösen. Im Mousedown auf TRUE setzen, im MouseMove if Flag then Flag := false und dann im Click prüfen if Flag then...
Jonas
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#6

Re: onClick und onMouseOver benutzen

  Alt 1. Jan 2008, 20:34
Hallo,

Zitat von xX0815Xx:
Man könnte das ganze mit einem Flag lösen. Im Mousedown auf TRUE setzen, im MouseMove if Flag then Flag := false und dann im Click prüfen if Flag then...
da hast Du aber ein Problem: Das Ereignis MouseDown kommt immer vor einem Klick. Ist ja auch logisch.

Gruß
xaromz
I am a leaf on the wind - watch how I soar
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: onClick und onMouseOver benutzen

  Alt 1. Jan 2008, 20:39
Könnten wir mal kurz klären, über welche Ereignisse wir reden und warum? Das macht mich doch etwas verwirrt hier
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Benutzerbild von Aurelius
Aurelius

Registriert seit: 29. Jan 2007
Ort: Erfurt
753 Beiträge
 
Delphi 7 Personal
 
#8

Re: onClick und onMouseOver benutzen

  Alt 1. Jan 2008, 20:43
@ xaromz: Ich weiß, das geht doch aus so, oder? Wird die Maus bewegt wird das FLAG auf FALSE gesetzt, so dass das OnClick ereignis nicht ausgeführt wird. Wenn die Maus nicht bewegt wird wird die Click-Prozedure ausgeführt. Die Überlegung sollte doch passen...

@ sirius: Es geht imho darum dass beim Click auf den Button was ausgeführt werden soll, man den Button aber auch auf der Oberfläche verschieben kann (dann soll die Click-Prozedur nicht ausgeführt werden)
Jonas
  Mit Zitat antworten Zitat
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: onClick und onMouseOver benutzen

  Alt 1. Jan 2008, 21:07
Hallo Leute und Euch allen ein gesundes neues Jahr!
Zitat von xX0815Xx:
@ sirius: Es geht imho darum dass beim Click auf den Button was ausgeführt werden soll, man den Button aber auch auf der Oberfläche verschieben kann (dann soll die Click-Prozedur nicht ausgeführt werden)
exacto del mundo, im moment ist es so das zwar das onmousedown ausgeführt wird,
aber das onclick überhaupt nicht. Habe das mit Rückgabe wert kontrolliert.

Auszug aus dem oncreate des Buttons:
Delphi-Quellcode:
aLabel.OnClick:=p1_1Click;
 aLabel.OnMouseDown:=verschiebebutton;
  aLabel.OnMouseUp:=speicherposition;
dann
Delphi-Quellcode:
procedure TKasse.verschiebebutton(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
if ssLeft in Shift then begin
with (Sender as TXiButton) do begin
ReleaseCapture;
Perform(WM_SYSCOMMAND, $F012, 0);
end;
end;
end;
dann speichern
Delphi-Quellcode:
procedure TKasse.speicherposition(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
with (Sender as TXiButton) do begin
t1_quer.Close; t1_quer.SQL.Clear;
t1_quer.SQL.Add('UPDATE k_artdb SET');
t1_quer.SQL.Add('SETLEFT='+IntToStr(Left)+',');
t1_quer.SQL.Add('SETTOP='+IntToStr(Top)+' ');
t1_quer.SQL.Add('WHERE id='+IntToStr(TComponent(Sender).Tag)+'');
t1_quer.ExecSQL;
Showmessage('!');
end;
end;
das onlick erspar ich mir jetzt.

Vielen Dank Leute
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat
Benutzerbild von Aurelius
Aurelius

Registriert seit: 29. Jan 2007
Ort: Erfurt
753 Beiträge
 
Delphi 7 Personal
 
#10

Re: onClick und onMouseOver benutzen

  Alt 1. Jan 2008, 21:11
Hast du meinen Tipp mal ausprobiert?
Jonas
  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 20:30 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