AGB  ·  Datenschutz  ·  Impressum  







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

Label unter Mausposition

Ein Thema von Lilo · begonnen am 13. Sep 2005 · letzter Beitrag vom 11. Nov 2005
Antwort Antwort
Seite 2 von 4     12 34      
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#11

Re: Label unter Mausposition

  Alt 13. Sep 2005, 20:19
Zitat von n0b0dy:
@faux.

also ich denke mal, Hagen sucht über die MouseMove Funktion des Formulars, oder?
Jaja, schon klar, aber in der Ausführung. Ist eine Methode Schneller/Langsamer? (Abgesehen davon, dass es Hagen gerne kompliziert macht.. )
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
n0b0dy

Registriert seit: 12. Sep 2005
Ort: Hessen
268 Beiträge
 
#12

Re: Label unter Mausposition

  Alt 13. Sep 2005, 20:21
naja also was nun schneller ist kann ich auch nicht sagen. aber die methode von dir würd ich klar bevorzugen!!
so ein umstand von hagen (sry )
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#13

Re: Label unter Mausposition

  Alt 13. Sep 2005, 20:24
IMHO ist Hagens Methode auch nicht so ohne weiteres ins .NET übertragbar.... Aber egal...

Zum Problem:

Du weist jedem Labelüber den Objektinspektor einfach ein und die selbe Procedure zu, dann ist das ok so. Die Procedure unterscheidet dann, von welchem Label der Aufruf kommt.
Sender ist immer das Objekt, von dem der Aufruf kommt (nicht nur bei MouseMove)...

Grüße
Faux
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
Benutzerbild von Mr_G
Mr_G

Registriert seit: 2. Sep 2004
Ort: Duisburg
468 Beiträge
 
Delphi 2006 Professional
 
#14

Re: Label unter Mausposition

  Alt 13. Sep 2005, 20:29
Ich möchte mich da anschließen:
Delphi-Quellcode:
procedure TForm1.OnLabelMouseMove();
begin
  if Sender is TLabel then
  begin
    (Sender as TLabel).Color := clGreen;
  end;
end;
Diese Methode könnte man dann den entsprechenden Labels zuweisen.

@ Hagen: Deine Lösung ist zwar recht simpel aber ein Problem hast du denke ich nicht bedacht: Was ist mit den Labels die diesen Effekt nicht erhalten sollen da sie z.B. nur als Beschriftung dienen sollen? Denn die bekommen den Effekt auch verpasst ...
Jan
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#15

Re: Label unter Mausposition

  Alt 13. Sep 2005, 20:37
Zitat von Lilo:
... es soll quasi auf der form bei mousemove eine prozedur rein die prüft ob meine maus über einem label ist ...
Ohne jetzt das für und wieder zu beurteilen.
Hagens Lösung ist die einzige die exact der geforderte Aufgabenstellung entspricht.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Lilo

Registriert seit: 10. Jul 2005
26 Beiträge
 
#16

Re: Label unter Mausposition

  Alt 13. Sep 2005, 20:43
@negaH

ich entwickel net unter kylix ^^ ich hab nur mal in der hilfe nach dem begriff gesucht weil das net ging ... und dann husch pfusch bei uses reingeschrieben ^^

Delphi-Quellcode:
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var C: TControl;
begin
       C := Controls.FindDragTarget(ClientToScreen(Point(X, Y)), True);
       if C is TLabel then
       begin
       end;
end;
da bekomm ich den fehler "inkombatible Typen - tlabel und tcontrol"

vielleicht bin ich auch nur zu dumm ^^
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#17

Re: Label unter Mausposition

  Alt 13. Sep 2005, 20:45
Uff, danke Sharky.

Aber prinzipiell stimme ich den Argumenten der Anderen absolut zu, besonders wenn die Frage von einem Anfänger kommt. Ein Komponentenentwickler wird aber eher auf meinen Vorschlag basierend arbeiten da sie OHNE die Verwendung von Events auskommt.

Die Art & Weise der Programmierung ist also eine komplett unterschiedliche. Während meine Funktion universell auch für andere kompliziertere Probleme benutzt werden kann, muß bei den anderen Vorschlägen der Programmierer gezielt die Events der schon zur Designzeit existierenden Kompoenten gesetzt werden.

Mein Beispiel soll als eine mögliche Alternative zu den anderen Vorschlägen dienen. Man kann sich dann selber das rausziehen was man benötigt.

Es hat also reingarnichts damit zu tuen das ich alles verkompliziere ! das ist schon indirekt eine Beleidigung

Gruß Hagen
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#18

Re: Label unter Mausposition

  Alt 13. Sep 2005, 20:47
Zitat:
da bekomm ich den fehler "inkombatible Typen - tlabel und tcontrol"
Und WO bekommst du den Fehler in deinem Code ?!?

Ich vermute mal das du C als TLabel deklariert hast und nicht wie im obigen Post als TControl !

Gruß hagen
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#19

Re: Label unter Mausposition

  Alt 13. Sep 2005, 20:48
@Lilo: Verstehst du überhaupt den Unterschied der dir vorgeschlagenen Lösungswege? Hast du auch gelsen, das bei Hagens Code alle Labels betroffen sind?

@Hagen: Ich hab ja nix gegen komplexen Code Aber wenns einfacher geht, und das selbe bewirkt, dann bevorzuge ich das einfachere.
Dein Code "kann" zwar mehr, in diesem Fall, ist es aber (du hast es selbst gesagt), egal, welchen Code man verwendet...

Gruß
Faux

NACGTRAG:

Zitat von negaH:
Ich vermute mal das du C als TLabel deklariert hast und nicht wie im obigen Post als TControl !
Laut seinem geposteten Code, nicht...
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#20

Re: Label unter Mausposition

  Alt 13. Sep 2005, 20:50
Hi Leute,

es ist schon ein Kreuz. Manchmal legt man jedes Wort eines Fragestellers auf die Goldwaage, nur um später zu erfahren: "das hatte ich ganz anders gemeint". Andererseits besteht aber auch jederzeit die Gefahr, dass der Helfer für intelligentes Mitdenken abgewatscht wird.

In diesem Fall denke ich hat Faux vorbildlich mitgedacht, denn aus der wenig vorbildlichen dafür aber um so mehr typischen Problembeschreibung hat er eine common misconception zu eliminieren versucht: das Delphi framework (vcl) ist objektorientiert und kaum ein Ereignis muss zentral (Form) behandelt werden - fast alles wird an die controls delegiert, wenn es Sinn macht.

Wenn Lilo hier gelernt hat, dass man einen einzigen event handler für beliebig viele controls einsetzen kann, dann ist das ein Verdienst von Faux. Alle sonstigen Lösungsansätze sind in der Mächtigkeit ebenbürtig und unterscheiden sich nur im Kodieraufwand.

Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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 12:23 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