AGB  ·  Datenschutz  ·  Impressum  







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

OnMouseOver realisieren

Offene Frage von "StefanDP"
Ein Thema von StefanDP · begonnen am 14. Jul 2004 · letzter Beitrag vom 15. Jul 2004
Antwort Antwort
StefanDP

Registriert seit: 11. Apr 2004
294 Beiträge
 
#1

OnMouseOver realisieren

  Alt 14. Jul 2004, 15:41
Hi!
Gibt es eine Möglichkeit eine Art OnMouseOver-Message für ein Label (mit Bild) zu bekommen?
Laut msdn gibt es nur Messages wie .._CLICKED oder .._DBLCICKED oder so.
Oder muss ich anhand von Maus-Koordinate und Label-Größe mir meine eigene Funktion zusammenschustern?

stefan
  Mit Zitat antworten Zitat
Jörn

Registriert seit: 5. Sep 2003
Ort: Helmstedt
312 Beiträge
 
#2

Re: OnMouseOver realisieren

  Alt 14. Jul 2004, 16:08
http://www.koshigaya.de/ - da gibts Komponenten die das schon können. Sind auch nur ein paar Zeilen Code, sehr elegant gelöst. Stand auch schon mal im PCMagazin.
  Mit Zitat antworten Zitat
StefanDP

Registriert seit: 11. Apr 2004
294 Beiträge
 
#3

Re: OnMouseOver realisieren

  Alt 14. Jul 2004, 17:28
Zitat von Jörn:
http://www.koshigaya.de/ - da gibts Komponenten die das schon können. Sind auch nur ein paar Zeilen Code, sehr elegant gelöst. Stand auch schon mal im PCMagazin.
Sieht mir nicht wirklich nach nonVCL aus!
  Mit Zitat antworten Zitat
Benutzerbild von p0w3r5tr34m3r
p0w3r5tr34m3r

Registriert seit: 18. Aug 2003
Ort: Monheim am Rhein
153 Beiträge
 
RAD-Studio 2009 Pro
 
#4

Re: OnMouseOver realisieren

  Alt 15. Jul 2004, 04:47
dann machs halt VCL ?!
die paar KB die es ausmacht, sind doch wirklich net die welt oder ?

Powerstreamer
Florian Cülter
ich bin ein notorischer alles-klein-schreiber!

der 100. Beitrag nach 3 Jahren 25 Wochen und einem Tag
  Mit Zitat antworten Zitat
supermuckl

Registriert seit: 1. Feb 2003
1.340 Beiträge
 
FreePascal / Lazarus
 
#5

Re: OnMouseOver realisieren

  Alt 15. Jul 2004, 04:50
berechne halt ob die maus im bereich des labels steckt anhand der coordinaten o_O
Das echte Leben ist was für Leute...
... die im Internet keine Freunde finden!
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#6

Re: OnMouseOver realisieren

  Alt 15. Jul 2004, 05:48
Oder einfacher: OnMouseEnter bzw. OnMouseleave. Dazwischen ist die Maus auf dem Label.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
teebee

Registriert seit: 17. Jan 2003
Ort: Köln
460 Beiträge
 
Delphi 6 Professional
 
#7

Re: OnMouseOver realisieren

  Alt 15. Jul 2004, 08:33
Zitat von Toxman:
Oder einfacher: OnMouseEnter bzw. OnMouseleave. Dazwischen ist die Maus auf dem Label.
Wenn er es Non-VCL haben will (so sieht es zumindest aus), dann hat er die Ereignisse doch gar nicht...

Ich hätte eine Idee, wie man es zumindest mal ausprobieren könnte. (Ich gehe davon aus, dass Du als Label ein Static-Control(Windows nicht Delphi) verwendest, berichtige mich, wenn es nicht so ist.)
Jetzt kommt es noch darauf an, ob Du das Control exlpizit erstellst (CreateWindow/Ex...) oder eine Dialog-Resource nimmst.
Im ersten Fall kriegst Du Das Handle des Static-Ctrls direkt zurück, im zweiten Fall musst Du in WM_INITDIALOG mit GetDlgItem das Handle abfragen.
Dann kannst Du mit GetWindowLong die Adresse der WindowProc des Statics speichern und mit SetWindowLong auf Deine eigene WindowProc verbiegen.
Dort reagierst Du auf WM_MOUSEMOVE. Beim ersten Empfang der Nachricht MouseCapture setzen, dann immer schauen, ob die Maus noch innerhalb Deines Statics ist, wenn nicht, Maus wieder freigeben.
Danach aber die alte WindowProc aufrufen, die Du zuerst gespeichert hattest.

Gruß, teebee
  Mit Zitat antworten Zitat
teebee

Registriert seit: 17. Jan 2003
Ort: Köln
460 Beiträge
 
Delphi 6 Professional
 
#8

Re: OnMouseOver realisieren

  Alt 15. Jul 2004, 16:46
Übrigens geht es vielleicht noch einfacher, wenn Du bei WM_MOUSEMOVE des Hauptfensters mit ChildWindowFromPoint checkst, ob Du über einem Deiner Statics bist, dieses dann veränderst und alle andren auf normal setzst.

Gruß, teebee
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

Re: OnMouseOver realisieren

  Alt 15. Jul 2004, 16:52
Das Zauberwort heißt MSDN-Library durchsuchenTrackMouseEvent.
Michael
Ein Teil meines Codes würde euch verunsichern.
  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 02:18 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