AGB  ·  Datenschutz  ·  Impressum  







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

Sichtbarkeit von Klasseneigenschaft

Ein Thema von firegyver · begonnen am 11. Feb 2009 · letzter Beitrag vom 13. Feb 2009
 
firegyver

Registriert seit: 11. Feb 2009
13 Beiträge
 
#1

Sichtbarkeit von Klasseneigenschaft

  Alt 11. Feb 2009, 23:22
Hallo liebes Forum,

ich habe vor längerer Zeit eine im Internet gefundene Klasse zum nachträglichen Hinzufügen von OnMouseEnter- und OnMouseLeave-Events für TImage in meinen Quelltext eingebaut. Alles funktionierte wunderbar, bis ich die Strukturen, die die TImage enthalten, in eine neue Unit auslagern musste. Mir kommt es irgendwie so vor, als ob die nachträglich definierten Klasseneigenschaften für TImage nicht mehr sichtbar sind und von der originären TImage-Klasse überlagert werden. Könnt ihr mir da weiterhelfen?
Hier der grobe Quellcode der beiden Units:

Delphi-Quellcode:
unit AppManager;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ExtCtrls, IniFiles, Spin, Menus, TypeDef;

type
  TImage = class(ExtCtrls.TImage)
  private
    FOnMouseEnter: TNotifyEvent;
    FOnMouseLeave: TNotifyEvent;
    procedure CMMouseEnter(var Msg: TMessage);message CM_MOUSEENTER;
    procedure CMMouseLeave(var Msg: TMessage);message CM_MOUSELEAVE;
  public
    property OnMouseEnter: TNotifyEvent read FOnMouseEnter write FOnMouseEnter;
    property OnMouseLeave: TNotifyEvent read FOnMouseLeave write FOnMouseLeave;
  end;

  TForm1 = class(TForm)
    procedure MapNVisu;
  private
    { Private declarations }
    procedure DoOnEnter(Sender: TObject);
    procedure DoOnLeave(Sender: TObject);
  public
    { Public declarations }
  end;

var
  Form1 : TForm1;
  ProgTupels : array of array of TProgTupel_type;

implementation

{$R *.dfm}

procedure TImage.CMMouseEnter(var Msg: TMessage);
begin
  if Assigned(FOnMouseEnter) then
    FOnMouseEnter(self);
  Msg.Result := 0;
end;

procedure TImage.CMMouseLeave(var Msg: TMessage);
begin
  if Assigned(FOnMouseLeave) then
    FOnMouseLeave(self);
  Msg.Result := 0;
end;

procedure TForm1.DoOnEnter(Sender: TObject);
var SenderName : string;
begin
  //dosomething
end;

procedure TForm1.DoOnLeave(Sender: TObject);
var SenderName : string;
begin
  //dosomething
end;

procedure TForm1.MapNVisu;
var r, c : Integer;
begin
    for r := 1 to 10 do
    begin
      for c := 1 to 10 do
      begin
        ProgTupels[r][c].Icon := TImage.Create(Form1);
        ProgTupels[r][c].Icon.Parent := Self;

        ProgTupels[r][c].Icon.OnMouseEnter := DoOnEnter;
        ProgTupels[r][c].Icon.OnMouseLeave := DoOnLeave;
      end;
    end;
end;

end.
Delphi-Quellcode:
unit TypeDef;

interface

uses
  ExtCtrls, StdCtrls;

type
  TProgTupel_type = record
    ProgID : Integer;
    Icon : TImage;
    La : TLabel;
  end;

implementation

end.
  Mit Zitat antworten Zitat
 


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 06:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz