AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Eigene Kompo von TButton ableiten? Wie OnClick realisieren?

Eigene Kompo von TButton ableiten? Wie OnClick realisieren?

Ein Thema von winx · begonnen am 12. Jun 2008 · letzter Beitrag vom 13. Jun 2008
Antwort Antwort
Seite 2 von 2     12
winx

Registriert seit: 14. Jun 2005
265 Beiträge
 
#11

Re: Eigene Kompo von TButton ableiten? Wie OnClick realisier

  Alt 12. Jun 2008, 15:38
danke!!!

ich habs jetzt mal beides und zwar so:

Delphi-Quellcode:
 
  public
    property Actiongroup: TActionGroup read factiongroup write fActionGroup;

    constructor Create();
    procedure Clicked(Sender:TObject);
    procedure Click();override;

  published

  ...


procedure TAdvActionGlowButton.Click;
begin
  inherited;
  showmessage('CLICKED');
end;

constructor TAdvActionGlowButton.Create;
begin
  self.onClick := Clicked;
end;
Wenn ich nun jedoch einen MyButton erzeuge und auf diese klicke, passiert nix!

Muß ich noch irgendwas verknüpfen???
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#12

Re: Eigene Kompo von TButton ableiten? Wie OnClick realisier

  Alt 12. Jun 2008, 15:48
Hi winx,

Du solltest es am besten so machen, wie Muetze es vorgeschlagen hat. Fange die WM_COMMAND (CN_COMMAND ?) und überprüfe auf BN_CLICKED und führe dann eine Methode aus. Dann bleibt das OnClick Ereignis unangetastet, was mit Sicherheit im Sinne des Benutzers und auch in deinem Sinne sein dürfte.

Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
winx

Registriert seit: 14. Jun 2005
265 Beiträge
 
#13

Re: Eigene Kompo von TButton ableiten? Wie OnClick realisier

  Alt 12. Jun 2008, 16:02
Hi,

das Problem mit dem Objektinspektor wäre mir erstmals egal, da ich die Buttons dynamisch erzeuge. Was mich wundert, ist, dass es nicht funktioniert, wenn ich
im Konstruktor das onClick Ereigniss neu zuweise:

constructor TAdvActionGlowButton.Create;
begin
self.onClick := Clicked;
end;

will das jetzt irgendwie verstehen
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#14

Re: Eigene Kompo von TButton ableiten? Wie OnClick realisier

  Alt 12. Jun 2008, 21:27
Hi,

also, ich bin etwas verwirrt. Eigentlich so verwirrt, dass ich es schnell mal ausprobiert habe. Wo ist das Problem? Procedure Click vererben und alles ist gut.

Klicke ich im folgenden Bsp. auf den Button, dann kommt mein Hallo. Das OnClick muss dabei nicht vergewaltigt werden.

Delphi-Quellcode:
unit Unit1;

interface

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

type
  TMyButton = class(TButton)
  public
    procedure Click; override;
  end;

  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
  public
    Button2 : TMyButton;
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
  Button2 := TMyButton.Create(self);
  Button2.parent := self;
  Button2.top := 50;
  Button2.Left := 50;
end;

{ TMyButton }

procedure TmyButton.Click;
begin
  inherited;
  MessageDlg('Hallo', mtInformation, [mbOK], 0);
end;

end.
Gruß oki
42
  Mit Zitat antworten Zitat
NickelM

Registriert seit: 22. Jul 2007
Ort: Carlsberg
445 Beiträge
 
Delphi 2009 Professional
 
#15

Re: Eigene Kompo von TButton ableiten? Wie OnClick realisier

  Alt 13. Jun 2008, 09:56
Also ich hab bei einem Panel (das macht aber keinen unterschied) die proceduren DoMouseDown und DoMouseUp überschrieben.

Hab als erstes inherited gemacht und dan meine eigenen Funktionen eingebaut. Es funkt super
Nickel
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#16

Re: Eigene Kompo von TButton ableiten? Wie OnClick realisier

  Alt 13. Jun 2008, 10:02
Viele Wege führen nach Rom.

Man sollte nur nich Published-Events auf eigene Proceduren der Klasse umleiten. Die sind eben mal dafür gedacht, dass der Benutzer der Klasse auf Ereignisse reagieren kann. Die Klasse selbst arbeitet ja mit ihren Methoden. Dafür gibt es ja nun mal die Vererbung.

Gruß oki
42
  Mit Zitat antworten Zitat
winx

Registriert seit: 14. Jun 2005
265 Beiträge
 
#17

Re: Eigene Kompo von TButton ableiten? Wie OnClick realisier

  Alt 13. Jun 2008, 11:03
bei mir jetzt auch, hab nur das inherited im Konstruktor vergessen ich volldepp
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 11:46 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