Einzelnen Beitrag anzeigen

tigerman33

Registriert seit: 30. Jul 2005
Ort: München
423 Beiträge
 
Delphi 2005 Professional
 
#26

Re: ButtonKlick ermitteln und wiedergeben

  Alt 5. Aug 2005, 15:49
Hier wie versprochen der Kram den wir vorhin im Chat besprochen haben. Ich hab noch mal alles was ich an Code vorhin übern Chat gejagt hab zusammengefasst. Aber: untested.

Delphi-Quellcode:
type TMyButton = class(TButton)
      private
        FWasClicked: boolean;
        function GetWasClicked: boolean;
        procedure CNCommand(var Message: TWMCommand); message CN_COMMAND;
      public
        constructor Create(AOwner: TComponent); override;
        property WasClicked: boolean read GetWasClicked write FWasClicked;
      end;

.
. Nicht vergessen, beim Createn anstelle von TButton.Create TMyButton.Create aufzurufen!!
.

constructor TMyButton.Create(AOwner: TComponent);
begin
  inherited;
  WasClicked := false; // Initialisieren
end;

procedure TMyButton.CNCommand(var Message: TWMCommand);
begin
  // Die Methode hier wird immer aufgerufen, wenn Windows eine COMMAND-Botschaft
  // an deinen Button sendet
  if Message.NotifyCode = BN_CLICKED then // Prüfen ob's die richtige Message ist
    WasClicked := true; // Deine Eigenschaft setzen
  inherited;
end;

function TMyButton.GetWasClicked: boolean;
begin
  Result := FWasClicked;
  WasClicked := false; // Wieder resetten
end;

function ButtonClicked(Obj: TMyButton): boolean;
begin
  Result := Obj.WasClicked;
end;

.
.
.

end.
Hoffe das funktioniert jetzt alles.
Christian
  Mit Zitat antworten Zitat