AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Hinzufügen von neuen Ereignissen zu Komponenten
Thema durchsuchen
Ansicht
Themen-Optionen

Hinzufügen von neuen Ereignissen zu Komponenten

Ein Thema von DelphiUser7 · begonnen am 24. Okt 2003 · letzter Beitrag vom 2. Jul 2004
Antwort Antwort
Seite 2 von 4     12 34      
DelphiUser7

Registriert seit: 27. Aug 2003
179 Beiträge
 
#11

Re: Hinzufügen von neuen Ereignissen zu Komponenten

  Alt 25. Okt 2003, 10:01
Hab die Sache (wieder) selbst gelöst;

DelphiUser7
Shell...wieso musste ausgerechnet Shell Teil einer Programmiersprache werden...wieso nicht Esso, Aral oder Dea;

MfG
DelphiUser7
  Mit Zitat antworten Zitat
iaby

Registriert seit: 30. Nov 2002
Ort: BW
258 Beiträge
 
#12

Re: Hinzufügen von neuen Ereignissen zu Komponenten

  Alt 28. Okt 2003, 09:17
wie kann ich denn jetzt ein neues ereignis z.B onClick zu einer komponente hinzufügen?
ich hab da eine opensource komponente, die das nicht unterstützt und will da jetzt ein onClick event!
wie geht das?
gruss,
iaby
  Mit Zitat antworten Zitat
DelphiUser7

Registriert seit: 27. Aug 2003
179 Beiträge
 
#13

Re: Hinzufügen von neuen Ereignissen zu Komponenten

  Alt 28. Okt 2003, 10:06
Also,
du gehst auf irgendeine Komponente die das OnClick-Ereignis besitzt, und erstellst dieses; da siehst du dann schon mal den Aufbau des Ereignisses;
Dann kopierst du ihn in die Zwischenablage (Strg+C), und fügst ihn nachher so ein (Strg+V):
(für Delphi 7 Datei -> Neu -> Weitere -> Komponente; bei anderen Delphi-Versionen könnte es etwas anders sein... ;
Bei Vorfahrentyp gibst du die Komponente ein, der du die Eigenschaft hinzufügen möchtest;
KlassenName: //gib den Namen der neuen Klasse bzw. Komponente ein;
Palettenseite: //gib die Palette ein, auf der du deine Neue Komponente wiederfinden willst;
Name der Unit & Suchpfad: //erledigt Delphi für dich;
Auf 'Ok' (nicht 'Installieren'!) klicken;
Hier mal als Beispiel: Meine TrackBar, die mit Mouse-Ereignissen ausgestattet wurde:

Delphi-Quellcode:
unit MouseTrackBar;

interface

uses
  SysUtils, Classes, Controls, ComCtrls;

type
  TMouseTrackBar = class(TTrackBar)
  private
    { Private-Deklarationen }
  protected
    procedure MouseUp(Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer); override;
    procedure MouseDown (Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer); override;
    procedure MouseMove (Shift: TShiftState; X, Y: Integer); override;
    { Protected-Deklarationen }
  public
    { Public-Deklarationen }
  published
    property OnMouseUp;
    property OnMouseDown;
    property OnMouseMove;
    { Published-Deklarationen }
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('Beispiele', [TMouseTrackBar]);
end;

procedure TMouseTrackBar.MouseUp(Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  inherited;
end;

procedure TMouseTrackBar.MouseDown(Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  inherited;
end;

procedure TMouseTrackBar.MouseMove(Shift: TShiftState; X, Y: Integer);
begin
  inherited;
end;

end.
Habs logischerweise schon längst getestet: funzt;

Gruss
DelphiUser7
Shell...wieso musste ausgerechnet Shell Teil einer Programmiersprache werden...wieso nicht Esso, Aral oder Dea;

MfG
DelphiUser7
  Mit Zitat antworten Zitat
iaby

Registriert seit: 30. Nov 2002
Ort: BW
258 Beiträge
 
#14

Re: Hinzufügen von neuen Ereignissen zu Komponenten

  Alt 29. Okt 2003, 13:11
also ich hab das jetzt mal so probiert, wie du es gepostet hast, aber onMouseDown ist im ObjectInspector
immer noch nicht sichtbar!
hier mal der code:
Delphi-Quellcode:
unit DigitLed;

interface

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

...

type
  TDigitLed = class(TPaintBox)
  private
  ...
  protected
    { Protected declarations }
    ...
    procedure MouseDown(Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer); override;

  public
    { Public declarations }
    ...

  published
    { Published declarations }
    ...
    property OnMouseDown;
  end;

procedure Register;

implementation
{$R DIGITLED.DCR}

procedure Register;
begin
  RegisterComponents('MoonRed', [TDigitLed]);
end;

...

procedure TDigitLed.MouseDown(Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
inherited;
end;

...

end.
die komponente ist nicht von mir, ich benutze sie aber und will nun eine onMouseDown Event(oder OnClick)
ich hab die alte komponente runter geschmissen, die modifizierte feherfrei installiert und es geht
immer noch nicht! woran kann das liegen? Jemand eine Idee?

gruss,
iaby
  Mit Zitat antworten Zitat
iaby

Registriert seit: 30. Nov 2002
Ort: BW
258 Beiträge
 
#15

Re: Hinzufügen von neuen Ereignissen zu Komponenten

  Alt 29. Okt 2003, 16:26
ok ich habs hinbekommen, war mein fehler!

wenn ich jetzt aber auf die komponente clicke(hab vorher ein showmessage in die onclick prozedur geschrieben) dann kommt gar nichts!!!
woran liegt das schon wieder? ich verzweifle noch

gruss,
iaby
  Mit Zitat antworten Zitat
iaby

Registriert seit: 30. Nov 2002
Ort: BW
258 Beiträge
 
#16

Re: Hinzufügen von neuen Ereignissen zu Komponenten

  Alt 30. Okt 2003, 08:14
weiß niemand wieso da einfach nichts passiert?
ich habe sonst eigentlich alles richtig gemacht.
jemand einen vorschlag?

gruss,
iaby
  Mit Zitat antworten Zitat
DelphiUser7

Registriert seit: 27. Aug 2003
179 Beiträge
 
#17

Re: Hinzufügen von neuen Ereignissen zu Komponenten

  Alt 30. Okt 2003, 11:56
Oh, da weiss ich nicht, ob ich das lösen kann, weil ich mit dem OnClick-Ereignis schon mal selbst immense Probleme hatte; und wie schon gesagt: Der Code stammt nicht von mir, sondern von Gandalfus; also kann ich dir darüber folglich wenig Auskunft geben; ausserdem hab ich ja die Komponente nicht, weiß also nicht, wie diese Komponente, zumal sie ja bei Delphi normalerweise gar nicht mitgeliefert ist, auf irgendwelche neu hinzugefügten Ereignisse reagiert!;

Gruss
DelphiUser7

P.S.: Die Smileys gelten nicht dir, sondern der Komponente ;
Shell...wieso musste ausgerechnet Shell Teil einer Programmiersprache werden...wieso nicht Esso, Aral oder Dea;

MfG
DelphiUser7
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#18

Re: Hinzufügen von neuen Ereignissen zu Komponenten

  Alt 30. Okt 2003, 12:07


weden die Ereignisse genauso deklariert wie die Eigenschaften ?
und woher weis Delphi obs n Ereigniss is oder ne Eigenschaft ?
Und woher weis Delphi, auf was dieses Ereigniss reagieren soll ?

Ich bin jetzt sehr verwirrt
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
DelphiUser7

Registriert seit: 27. Aug 2003
179 Beiträge
 
#19

Re: Hinzufügen von neuen Ereignissen zu Komponenten

  Alt 30. Okt 2003, 12:37
Die Ereignisse werden so deklariert, wie ich sie in meinem Beispiel angegeben habe; und da funzen alle drei (OnMouseUp, OnMouseDown, OnMouseMove);

Gruss
DelphiUser7
Shell...wieso musste ausgerechnet Shell Teil einer Programmiersprache werden...wieso nicht Esso, Aral oder Dea;

MfG
DelphiUser7
  Mit Zitat antworten Zitat
iaby

Registriert seit: 30. Nov 2002
Ort: BW
258 Beiträge
 
#20

Re: Hinzufügen von neuen Ereignissen zu Komponenten

  Alt 1. Nov 2003, 18:55
also mit onMouseDown hab ichs auch probiert, das ging aber auch nicht!
echt komisch, kein fehler beim kompilieren, alles einwandfrei!

aber reagiert wird darauf eben nicht

gruss,
iaby
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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 18:19 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