AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi OnMouseMove-Prozeduren von zur Laufzeit erstellten Objekten
Thema durchsuchen
Ansicht
Themen-Optionen

OnMouseMove-Prozeduren von zur Laufzeit erstellten Objekten

Offene Frage von "Samufi"
Ein Thema von Samufi · begonnen am 24. Jan 2010 · letzter Beitrag vom 24. Jan 2010
Antwort Antwort
Samufi

Registriert seit: 27. Nov 2008
Ort: Güstrow
93 Beiträge
 
Turbo Delphi für Win32
 
#1

OnMouseMove-Prozeduren von zur Laufzeit erstellten Objekten

  Alt 24. Jan 2010, 12:34
Hallo,
ich habe ein analoges Problem zu folgendem: Angenommen ich wollte zur Laufzeit Labels erstellen, die bei OnMouseMove ihre Schriftgröße verändern, so müsste ich diesen neuen Labels ja in der Eigenschaft OnMousemove eine Prozedur zuordnen, die die Schriftgröße des Labels verändert. Wie ist das aber möglich, wenn die Labels erst zur Laufzeit entstanden sind - wie schaffe ich, dass genau die Schriftgröße von dem mit der Maus überfahrenen Label geändert wird? Falls das noch etwas unklar erscheint präzisiere ich meine Ausführungen gerne noch mal!
Herzlichen Dank schon mal fürs Lesen!
Treurgebenst,
Samufi
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#2

Re: OnMouseMove-Prozeduren von zur Laufzeit erstellten Objek

  Alt 24. Jan 2010, 12:38
Hi!

Du brauchst eine "universelle" Methode für das MouseMove - die weist du dann jedem neuen Label zu.
Wird sie aufegrufen steckt im Parameter Sender das Control drin, dass den Aufruf ausgelöst hat.


Grüße, Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: OnMouseMove-Prozeduren von zur Laufzeit erstellten Objek

  Alt 24. Jan 2010, 12:39
Du kannst auch Eigenschaften und Ereignisse zur Laufzeit zuweisen. Schreib dir eine passende Methode und weiß sie zur Laufzeit dem entsprechenden Ereignis zu.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Samufi

Registriert seit: 27. Nov 2008
Ort: Güstrow
93 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: OnMouseMove-Prozeduren von zur Laufzeit erstellten Objek

  Alt 24. Jan 2010, 13:22
Vielen Dank für die Antworten erst mal!
Dass ich Eigenschaften zur Laufzeit zuweisen kann ist mir im Grunde schon klar - was mir fehlt ist diese universelle Methode. Dass man da etwas mit dem Parameter Sender machen kann habe ich mir schon gedacht. Aber wie genau geht das. Angenommen ich wollte wie im Beispiel die Schriftgröße von einem Label vergrößern:
Delphi-Quellcode:
procedure TForm1.LabelMouseMove(Sender: TObject);
var Label1:TLabel;
begin
Label1:=Sender;
Label1.Font.Size:=Label.Font.Siz+2;
end;
Ich weiß - so funktioniert das auf keinen Fall. Aber wie müsste das dann richtig aussehen?
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#5

Re: OnMouseMove-Prozeduren von zur Laufzeit erstellten Objek

  Alt 24. Jan 2010, 13:31
Hi!

In der Art könntest du es machen:

Delphi-Quellcode:
with (Sender as TLabel) do
 font.Size:=40;

Grüße, Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Samufi

Registriert seit: 27. Nov 2008
Ort: Güstrow
93 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: OnMouseMove-Prozeduren von zur Laufzeit erstellten Objek

  Alt 24. Jan 2010, 13:46
Vielen Dank!
Es funktioniert alles wie gewünscht!
  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 22:49 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