Komunikaty (EN_CHANGE)

0

Dlaczego poniższy kod nie działa? Chodzi mi konkretnie o to, iż po zmianie stanu kontrolki (wpisania tekstu) nie jest wypisywany konunikat. Dodam iż wszystko kompiluje sie dobrze oraz tworzenie komponentu jest zainicjowanie na głównej formie.

Oto część kodu:

interface

uses StdCtrls {TEdit}, Controls {TMessages}, Messages {EN_ WM_ CM_};

type
TMyEdit = class(TEdit)
protected
procedure ENChange(var msg: TMessage); message EN_CHANGE;

end;

...

implementation

procedure TMyEdit.ENChange(var msg: TMessage);
begin
inherited;
UstawKomunikat('Zmieniono stan');
end;

0

OverRide.

0

Temat już dosyć stary, ale nie potrafię sobie poradzić z tym problemem. Nie bardzo rozumiem dlaczego ten kod mi nie działa:

type
  TDayCheck = class(TEdit)
    private
      FOnChange : TNotifyEvent;
  protected
    procedure EnChange(var Msg : TMessage); message EN_CHANGE;
  public
  published
   property onChange : TNotifyEvent read FOnChange write FOnChange;
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('Additional', [TDayCheck]);
end;


procedure TDayCheck.EnChange(var Msg : TMessage);
begin
  if Assigned(FOnChange) then OnChange(Self);
  ShowMessage(Text);
end;

To oczywiście tworzenie własnego komponentu, po wpisaniu czegoś do Edita chciałbym, aby pojawił się komunikat wyświetlający tekst w nim zawarty...

1 użytkowników online, w tym zalogowanych: 0, gości: 1