AGB  ·  Datenschutz  ·  Impressum  







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

Ereignisse abfangen

Ein Thema von K-Asche · begonnen am 16. Nov 2005 · letzter Beitrag vom 16. Nov 2005
Antwort Antwort
K-Asche

Registriert seit: 16. Nov 2005
Ort: Greven
71 Beiträge
 
#1

Ereignisse abfangen

  Alt 16. Nov 2005, 15:20
Hi @ all,

bin absoluter Neuling, was Delphi angeht. normalerweise code ich in C++.
Hab da ein Verständnisproblem.
Ich habe eine Unit mit einem eigens kreiierten Control der über die MainForm ausgegeben wird.
Nun möchte ich aus der MainForm abfangen, wenn ich mit der Maus über dieses Control fahre.
Ich weiß jetzt schon, dass es sich um die Nachricht CM_MOUSEENTER handelt und wie ich die Procedure dafür deklariere weiß ich auch.
Jetzt muss ich diese Prozedur ja über die MainForm aufrufen, möchte aber, das er beim darüberfahren mit der maus innerhalb des Controls in der Unit etwas macht.
Jetzt hab ich schon überlegt, mit der Eigenschaft OnMouseEnter von TNotifyEvent zu arbeiten, bekomm das aber noch net so ganz hin.
Hoffe es versteht wer was ich mein und kann mir da weiterhelfen.

Gruß

Karsten
  Mit Zitat antworten Zitat
ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#2

Re: Ereignisse abfangen

  Alt 16. Nov 2005, 15:28
Hallo,

willkommen in der Delphi-PRAXiS!

platzierst du die Komponente (das Control) gleich in der Entwicklungsumgebung oder erstellst du sie erst während dem laufenden Programm?

Wenn du sie in der Entwicklungsumgebung platzierst, kannst du ja im Objektinspektor im Tab "Ereignisse" auf das Feld hinter onmouseover doppelklicken. Dann erstellt Delphi automatisch die entsprechende Prozedur.
Michael Enßlin
Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß.
Sokrates
  Mit Zitat antworten Zitat
K-Asche

Registriert seit: 16. Nov 2005
Ort: Greven
71 Beiträge
 
#3

Re: Ereignisse abfangen

  Alt 16. Nov 2005, 15:36
Danke

Ich erstell das Ctrl erst zur Laufzeit.
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Ereignisse abfangen

  Alt 16. Nov 2005, 15:46
du kannst der eigenschaft TControl.OnSomeEvent während der Laufzeit einen Funktionspointer zuweisen:

Delphi-Quellcode:
procedure MyNotify(Sender:TObject);
begin
//blabla
end;

//irgendwo:
MyControl.OnSomeEvent := @MyNotify;
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
K-Asche

Registriert seit: 16. Nov 2005
Ort: Greven
71 Beiträge
 
#5

Re: Ereignisse abfangen

  Alt 16. Nov 2005, 16:07
Das funzt auch nicht.
er springt nicht in die Prozedur.
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#6

Re: Ereignisse abfangen

  Alt 16. Nov 2005, 16:23
Zitat von K-Asche:
Das funzt auch nicht.
er springt nicht in die Prozedur.
Wenn es keinen Fehler gibt, dann ist es wohl so, das das Event nie ausgelöst wird.

kannst du vielleicht etwas mehr Code zeigen?

btw, geht es nicht auch so:

Delphi-Quellcode:
T = class
public
  SomeEvent: TNotifyEvent;
implementation
procedure Ready(Sender: TObject);


SomeEvent:=Ready;
so mach ich es und das funzt....
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
K-Asche

Registriert seit: 16. Nov 2005
Ort: Greven
71 Beiträge
 
#7

Re: Ereignisse abfangen

  Alt 16. Nov 2005, 16:37
Sowas hab ich auch schon probiert, da reagiert er gar nicht drauf.

Kann es sein, dass das Ereignis nicht ausgelöst wird, weil meine MainForm noch in eine übergordnete Form eines Controls ähnlich dem Explorer eingebettet ist?

Ich hatte nämlich auch ein ähnliches Problem mit dem Abfangen des Key Events F5 Taste drücken. Funzte so auch nicht aber nach dem ich eine Baumstruktur eingebaut habe und den Focus auf das Root - Element gesetzt habe, da ging es dann.
  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 01:59 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