Einzelnen Beitrag anzeigen

Benutzerbild von wo0zy
wo0zy

Registriert seit: 14. Apr 2003
Ort: 127.0.0.1
80 Beiträge
 
Delphi 7 Enterprise
 
#1

OnMouseOver soll nicht existieren

  Alt 7. Mai 2003, 12:25
hi,
ich hab ma wieder ein problem
undzwar hab ich mir eine komponente geschrieben, welche von TImage abgeleitet worden ist und um MouseEnter MouseLeave und eine ID erweitert wurde.
naja und nun wollte ich sie benutzen, doch da bekomme ich immer die fehlermeldung MouseEnter existiert nicht, aber im OI wird die eigenschaft angezeigt, und wenn ich der eigentschaft eine procedure zuweise, dann kommt oben genannter fehler

hier ist mal der code der kompo:
Delphi-Quellcode:
unit IDImage;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls;

type
  TIDImage = class(TImage)
  private
    FOnMouseLeave: TNotifyEvent;
    FOnMouseEnter: TNotifyEvent;
    FID:String;
    procedure CMMouseEnter(var msg:TMessage);
      message CM_MOUSEENTER;
    procedure CMMouseLeave(var msg:TMessage);
      message CM_MOUSELEAVE;
    procedure SetFID(value:String);
    { Private-Deklarationen }
  protected
    procedure DoMouseEnter; dynamic;
    procedure DoMouseLeave; dynamic;
    { Protected-Deklarationen }
  public
    { Public-Deklarationen }
  published
    property ID:String Read FID Write SetFID;
    property OnMouseEnter:TNotifyEvent Read FOnMouseEnter Write FOnMouseEnter;
    property OnMouseLeave:TNotifyEvent Read FOnMouseLeave Write FOnMouseLeave;
    { Published-Deklarationen }
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('Zusätzlich', [TIDImage]);
end;

procedure TIDImage.SetFID(value:String);
begin
  If value<>FID then
    FID:=value;
end;

procedure TIDImage.CMMouseEnter(var msg:TMessage);
begin
  DoMouseEnter;
end;

procedure TIDImage.CMMouseLeave(var msg:TMessage);
begin
  DoMouseLeave;
end;

procedure TIDImage.DoMouseEnter;
begin
  If Assigned(FOnMouseEnter) then FOnMouseEnter(self);
end;

procedure TIDImage.DoMouseLeave;
begin
  If Assigned(FOnMouseLeave) then FOnMouseLeave(self);
end;

end.
[edit=Daniel B]Delphi-Tags eingefügt. MfG Daniel B.[/edit]
It's not a bug it's a feature!
  Mit Zitat antworten Zitat