AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Brauche OnMouseMove-Event + habe Problem mit ObjectInspector
Thema durchsuchen
Ansicht
Themen-Optionen

Brauche OnMouseMove-Event + habe Problem mit ObjectInspector

Ein Thema von daschaos · begonnen am 14. Jun 2007 · letzter Beitrag vom 14. Jun 2007
Antwort Antwort
Seite 1 von 2  1 2      
daschaos

Registriert seit: 23. Mai 2007
117 Beiträge
 
Delphi 2006 Professional
 
#1

Brauche OnMouseMove-Event + habe Problem mit ObjectInspector

  Alt 14. Jun 2007, 10:05
Hi!

Ich habe eine Komponente erstellt, die von TGraphicControl erbt. Jetzt bräuchte ich aber auch das OnMouseMove - Event, dass es aber nur von der Vaterklasse von TGraphicControl TControl gibt. Erben die Unterklassen nich alles von der Oberklasse? Naja, auf jeden Fall meine Frage, wie komme ich daran oder was muss ich machen, damit ich dieses Event in meiner Komponente benutzen kann.

Außerdem dachte ich, würde man automatisch meine als published deklarierten Poperties im Obejct Inspector angezeigt bekommen. Allerdings zeigt er dort wirklich garnichts an. Muss ich da noch was beachten, angeben, wie auch immer? Die Anwendung bzw. das Formular, das meine Komponente benutzt ist das einzige was angezeigt wird ...

Bin für jede Hilfe dankbar !
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Brauche OnMouseMove-Event + habe Problem mit ObjectInspe

  Alt 14. Jun 2007, 10:08
ganz einfach:
Delphi-Quellcode:
[...]
published
  property OnMouseMove;
[...]
Damit änderst du die sichtbarkeit von protected zu published
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
daschaos

Registriert seit: 23. Mai 2007
117 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Brauche OnMouseMove-Event + habe Problem mit ObjectInspe

  Alt 14. Jun 2007, 10:32
Tut mir leid für mein Unwissenheit, aber das versteh ich nich . Was hab ich jetzt davon, dass ich ein property hab, dass OnMouseMove heißt?
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Brauche OnMouseMove-Event + habe Problem mit ObjectInspe

  Alt 14. Jun 2007, 10:35
ich dachte du willst das property so haben das man es über den Objectinspektor zuweisen und benutzen kann
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
daschaos

Registriert seit: 23. Mai 2007
117 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Brauche OnMouseMove-Event + habe Problem mit ObjectInspe

  Alt 14. Jun 2007, 10:59
Ach, ich bin zu blöd mich in Worte zu fassen. Er kennt einfach das OnMouseMove nich. Also zum Beispiel die Methode Paint gibts bei TGraphicControl auch. Da muss ich dann zum Beispiel nur das schreiben:

Delphi-Quellcode:
public
    procedure Paint; override;
...

procedure TTreemapChart.Paint;
begin
  inherited;
  ...
end;
Und so hätte ich das auch gerne...
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Brauche OnMouseMove-Event + habe Problem mit ObjectInspe

  Alt 14. Jun 2007, 11:56
Es gibt die procedure MouseMove (die das Event OnMouseMove auslöst) die du überschreiben könntest.
Delphi-Quellcode:
type Tx=class(TGraphicControl)
       procedure mousemove(Shift: TShiftState; X, Y: Integer);override;
end;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    x:Tx;
end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  x:=tx.Create(self);
  x.parent:=self;
  x.Align:=alclient;
  canvas.MoveTo(0,0);
end;
procedure Tx.mousemove;
begin
  canvas.LineTo(x,y);
end;
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
daschaos

Registriert seit: 23. Mai 2007
117 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Brauche OnMouseMove-Event + habe Problem mit ObjectInspe

  Alt 14. Jun 2007, 12:12
Ja, genau so hab ich das auch gemacht, aber es läuft nich. Erstmal sagt er mir folgendes als Warnung:

[Warning] TreemapChart.pas(59): Method 'MouseMove' hides virtual method of base type 'TControl' Er kompiliert aber, nur er reagiert nich auf die "Mouse Moves", es passiert einfach nichts. Wenn ich jetzt das override dazu schreibe, kompiliert er nich mehr und gibt mir folgende Fehlermeldung aus:

[Error] TreemapChart.pas(59): Declaration of 'MouseMove' differs from previous declaration Damit kann ich dann garnichts mehr anfangen .
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Brauche OnMouseMove-Event + habe Problem mit ObjectInspe

  Alt 14. Jun 2007, 12:15
Ja, dann solltest du mal deine Deklaration überprüfen Die muss schon übereinstimmen.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
daschaos

Registriert seit: 23. Mai 2007
117 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Brauche OnMouseMove-Event + habe Problem mit ObjectInspe

  Alt 14. Jun 2007, 12:24
Aber das ist doch so okay, oder?

Delphi-Quellcode:
type
  TTreemapChart = class (TGraphicControl);

public
  procedure MouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer); override;

implementation

procedure TTreemapChart.MouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);
begin
  ...
end;
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Brauche OnMouseMove-Event + habe Problem mit ObjectInspe

  Alt 14. Jun 2007, 12:49
Schau mal, was ich gemacht habe!

Du bist jetzt nicht beim event, sondern bei der methode, die das event auslöst.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 16:33 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