Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Wann wird das OnEnter Ereignis aufgerufen (bvr OnMouseDown)? (https://www.delphipraxis.net/31537-wann-wird-das-onenter-ereignis-aufgerufen-bvr-onmousedown.html)

Der_Ventilator 10. Okt 2004 21:15


Wann wird das OnEnter Ereignis aufgerufen (bvr OnMouseDown)?
 
Hi

Ich hab mir ne eigene Komponente programmiert, die beim Klick auf ihr canvas eine Aktion ausführt (es ist so eine Art ListBox, aber egal)

Jedenfalls wollte ich, dass beim OnEnter Ereignis erst die Liste aktualisiert wird, aber anscheinend wird erst das OnMouseDown Ereignis aufgerufen (wenn ich auf die Compo klicke), bevor das OnEnter Ereignis zuschlägt. Kann man das irgenwie umdrehen, weil sonst mein Programm nicht funktioniert wie es sollte.

Einfach das Listenaktualisierenereignis beim mousedown aufrufen ist auch keine lösung, weil das ja nur einmal geschehen soll. Außerdem muss vor dem keydown ja auch erst das OnEnter Ereignis zuschlagen.

SirThornberry 10. Okt 2004 21:17

Re: Wann wird das OnEnter Ereignis aufgerufen (bvr OnMouseDo
 
umkehren macht kein sinn da die messages in dieser reihenfolge ankommen. Die reihenfolge ist ja auch logich denn das onEnter wird ja ausgelöst weil du die Maustaste drückst. Das heißt das im Mousedown vermutlich der Focus erst auf deine Komponente gesetzt wird und somit auch vorher die Maus schon gedrückt wurde.

Der_Ventilator 11. Okt 2004 14:42

Re: Wann wird das OnEnter Ereignis aufgerufen (bvr OnMouseDo
 
Gibts nich OnFocus der so?

Stevie 11. Okt 2004 15:35

Re: Wann wird das OnEnter Ereignis aufgerufen (bvr OnMouseDo
 
Also, ich hab das mit zwei Kompos aus der VCL getestet (TButton und TListbox) und beide kommen der Reihenfolge nach in OnEnter , OnMouseDown, OnClick, OnMouseUp!

Der_Ventilator 12. Okt 2004 18:02

Re: Wann wird das OnEnter Ereignis aufgerufen (bvr OnMouseDo
 
merkwürdig, bei mir läuft das bei meiner Komponente andersherum ab als bei einem Button

Delphi-Quellcode:
type
  Tgliste2 = class(TCustomControl)
  private
   {...}    { Private-Deklarationen }
  protected
    { Protected-Deklarationen }
  public
    procedure mousedown( Button: TMouseButton;
                      Shift: TShiftState; X, Y: Integer); override;
     {...}
    { Public-Deklarationen }
  published
 
    { Published-Deklarationen }
{...}
      property OnEnter;
  end;

Gruber_Hans_12345 12. Okt 2004 18:05

Re: Wann wird das OnEnter Ereignis aufgerufen (bvr OnMouseDo
 
nur so, ohne das genauer angeschaut zu haben,
rufts du im OnMouseDown inherited auf ?
Wenn ja vor oder nach deinem Code ?

Der_Ventilator 12. Okt 2004 20:50

Re: Wann wird das OnEnter Ereignis aufgerufen (bvr OnMouseDo
 
hmmm..irgendwie überhaupt kein inherited...

das muss ich mal testen bzw, kann mir das jemand mal genau erklären

(bisher weiß ich, dass das nur irgendwie in der Basisklasse sucht und deren Ereignis ausführt oder so)

Gruber_Hans_12345 13. Okt 2004 07:00

Re: Wann wird das OnEnter Ereignis aufgerufen (bvr OnMouseDo
 
Zitat:

Zitat von Der_Ventilator
hmmm..irgendwie überhaupt kein inherited...

das muss ich mal testen bzw, kann mir das jemand mal genau erklären

(bisher weiß ich, dass das nur irgendwie in der Basisklasse sucht und deren Ereignis ausführt oder so)

probier mal einfach als erstes in deiner funktion ein
Delphi-Quellcode:
inherited;
Es könnte ja sein, das das OnEnter dann in dem inheried aufgerufen wird...

Der_Ventilator 15. Okt 2004 12:47

Re: Wann wird das OnEnter Ereignis aufgerufen (bvr OnMouseDo
 
danke


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:08 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