AGB  ·  Datenschutz  ·  Impressum  







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

TFRame Events während der Laufzeit erzeugen

Ein Thema von decibel666 · begonnen am 19. Okt 2015 · letzter Beitrag vom 21. Okt 2015
Antwort Antwort
decibel666

Registriert seit: 27. Okt 2012
10 Beiträge
 
#1

TFRame Events während der Laufzeit erzeugen

  Alt 19. Okt 2015, 08:38
Hallo!

Ich habe eine Form welche auf ButtonClick während der Laufzeit ein Frame erzeugt und dieses mit Elementen befüllt. Das alles funktioniert einwandfrei!
Ich hätte aber jetzt gerne auf einem erzeugten Label im Frame folgende Events:
onclick + onmouseenter + onmouseleave;

Der label wird folgendermassen erzeugt :

framelabel[i] := TLabel.Create(Frame21);
framelabel[i].Parent := Frame21;

wie kann ich auf dieses im Frame während der Laufzeit erzeugten label die events onclick + onmouseenter + onmouseleave legen ? Meine Delphi Version ist 7.0!

vielen Dank
DeCi

Geändert von decibel666 (19. Okt 2015 um 08:47 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: TFRame Events während der Laufzeit erzeugen

  Alt 19. Okt 2015, 08:47
Wenn die Controls im Frame selber erzeugt werden, dann sollte der Code so aussehen:
Delphi-Quellcode:
procedure TFrameX.foo;
var
  currentLabel: TLabel;
begin
  currentLabel := TLabel.Create( Self ); // Self verwenden!
  currentLabel.Parent := Self; // Self verwenden!
  currentLabel.OnClick := ...
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
decibel666

Registriert seit: 27. Okt 2012
10 Beiträge
 
#3

AW: TFRame Events während der Laufzeit erzeugen

  Alt 19. Okt 2015, 09:10
Super Danke funktioniert !

Manchmal sieht man den Wald vor lauter Bäumen nicht ;P


Eine Frage hätte ich trotzdem noch ! Wie kann ich das Mausrad (mousewheel) im erzeugten Frame aktivieren damit ich mit der Maus scrollen kann ?


DeCi
  Mit Zitat antworten Zitat
decibel666

Registriert seit: 27. Okt 2012
10 Beiträge
 
#4

AW: TFRame Events während der Laufzeit erzeugen

  Alt 21. Okt 2015, 10:13
Ich habe da jetzt folgendes gefunden :

Code:
type
  TMainForm = class(TForm)
  private
    procedure MouseWheelHandler(var AMessage: TMessage); override;
  public
    { Public declarations }
  end;

implementation

procedure TMainForm.MouseWheelHandler(var AMessage: TMessage);
var
  Control: TWinControl;
begin
  Control := FindVCLWindow(SmallPointToPoint(TWMMouseWheel(AMessage).Pos));
  if Assigned(Control) then
  begin
    AMessage.Result := Control.Perform(CM_MOUSEWHEEL, AMessage.WParam,
      AMessage.LParam);
    if AMessage.Result = 0 then
      Control.DefaultHandler(AMessage);
  end
  else
    inherited MouseWheelHandler(AMessage);
end;

produziert aber leider einen Stackoverflow...
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#5

AW: TFRame Events während der Laufzeit erzeugen

  Alt 21. Okt 2015, 10:21
Und was hat das mit dem Thema zu tun?
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
decibel666

Registriert seit: 27. Okt 2012
10 Beiträge
 
#6

AW: TFRame Events während der Laufzeit erzeugen

  Alt 21. Okt 2015, 11:23
Ich hatte ja gerschrieben :

Eine Frage hätte ich trotzdem noch ! Wie kann ich das Mausrad (mousewheel) im erzeugten Frame aktivieren damit ich mit der Maus scrollen kann ?

Sorry, soll ich einen neuen Beitrag dazu aufmachen ?
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#7

AW: TFRame Events während der Laufzeit erzeugen

  Alt 21. Okt 2015, 12:15
Ja, das wäre total lieb. Die Antworten hier im Forum dienen ja auch als Nachschlagewerk ud Dinge sind dann einfacher zu finden.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  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 05:54 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