AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Graph-Komponente

Ein Thema von xZise · begonnen am 2. Mär 2007 · letzter Beitrag vom 4. Mär 2007
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#1

Graph-Komponente

  Alt 2. Mär 2007, 15:03
Ich programmiere gerade selber eine kleine Graph-Komponente
Aber leider funktioniert es nicht so wie es sollte
Und zwar habe ich es von TWinControl abgeleitet, weil die Paintbox eigentlich unpraktisch ist (ich brauch ja nur zeichnen ).
Aber leider werden 2 Komponenten angezeigt: Einmal die TGraph-Komponente (ein "grauer Kasten" und dann eine TPaintBox-Komponente, die aber irgendwie (kA wie), an die TGraph-Komponente gekoppelt ist.
Nun wollte ich fragen wie man das umgehen kann...

Auch sind da anscheind ein paar Bugs, nur habe ich kA, warum...

Ich habe mal die Komponente angehängt.
Angehängte Dateien
Dateityp: zip graph_204.zip (1,6 KB, 25x aufgerufen)
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von scrat1979
scrat1979

Registriert seit: 12. Jan 2007
Ort: Sulzbach a.d. Murr
1.028 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Graph-Komponente

  Alt 2. Mär 2007, 15:14
Warum leitest Du nicht von TGraphicControl ab? Mir hat hier im Forum mal jemand gesagt, TWinControl wäre etwas zu "hoch" in der Hirachie. Bei TGraphicControl muss man sich nicht selbst um die Paint-Routinen kümmern. Seither geht bei mir alles viel schneller und einfacher... Vielleicht wäre das für Dich auch ein besserer Ansatz?

SCRaT

EDIT: Habe mit grad den Code angesehen. Es erscheinen IMHO 2 Komponenten, da es sich bei Deiner und bei TPaintbox wohl um sichtbare Komponenten handelt. Evtl. wäre mein Vorschlag (s.o.) tatsächlich der bessere Ansatz für Dich, dann würdest Du die TPaintBox gar nicht brauchen !?!
Michael Kübler
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#3

Re: Graph-Komponente

  Alt 2. Mär 2007, 15:21
Also ich muss mal gucken was Grafikcontrol mir bietet Weil ich brauche nur die WinControl-Propertys Da der rest ja über die Komponente selbst abgewickelt wird

@ Edit: Kann es ggf. daran liegen, dass ich der PaintBox Owner auch gleichzeitig der Graph-Owner ist?
@ RedBox-Edit: Naja Mal gucken ...
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von scrat1979
scrat1979

Registriert seit: 12. Jan 2007
Ort: Sulzbach a.d. Murr
1.028 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Graph-Komponente

  Alt 2. Mär 2007, 15:25
Würde mich dann interessieren, zu welchem Ergebnis zu gekommen bist

SCRaT
Michael Kübler
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#5

Re: Graph-Komponente

  Alt 2. Mär 2007, 21:06
Ich habe jetzt von GraphicControl abgeleitet, aber es gibt jetzt ernsthafte Probleme...

Und zwar schon bei der Initallisierung...
Angehängte Dateien
Dateityp: zip graph_743.zip (1,7 KB, 11x aufgerufen)
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#6

Re: Graph-Komponente

  Alt 3. Mär 2007, 01:29
Moin!

Klasse Kompo, um Delphi abzuschießen , bzw erstklassige Endlosschleife
Wenn Du eine Eigenschaft überschreibst, dann kannst Du beim lesen der Werte net die Eigenschaft der abgeleiteten Instanz verwenden, da diese wieder die Funktion GetWidth, wie in dem Beispiel aufrufen und damit eine Endlosschleife machen.

Delphi-Quellcode:
function TGraph.GetWidth: Integer;
begin
   Result:=Width; // <- Aufruf von GetWidth = Endlosschleife
end;

function TGraph.GetWidth: Integer;
begin
   Result:=inherited Width; // <- Aufruf von dem ererbten GetWidth
end;
Grüßle!

PS: Notdürftig reparierte Unit angehängt, jetzt läufts.
Angehängte Dateien
Dateityp: zip graph_150.zip (1,6 KB, 16x aufgerufen)
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#7

Re: Graph-Komponente

  Alt 3. Mär 2007, 11:32
Ah Danke Sun!
Jetzt funktioniert es wunderbar ^^
Nun muss ich nur noch den Graphen zeichnen.

Aber jetzt habe ich das Problem, dass er die OI-Einstellungen ignoriert.

Ich habe ein Project angehangen, indem man das einfach testen kann (Die Farbwerte und OffsetMax werden angezeigt.)
Ändern (OI!) und auf den Button drücken

[edit]Nochmal geupdatet ^^ Ich hoffe es ist jetzt klar (\Graph\graph.pas)[/edit]
[edit]Jetzt mit Testproject[/edit]
Angehängte Dateien
Dateityp: zip graph_607.zip (226,5 KB, 19x aufgerufen)
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#8

Re: Graph-Komponente

  Alt 3. Mär 2007, 16:49
Mal ne Frage, welche Unit in der .zip Datei gilt?

Bei einer gibts ne AV, bei der anderen hängt Delphi
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#9

Re: Graph-Komponente

  Alt 3. Mär 2007, 18:41
Äh ^^ Danke Sun, für den Hinweis

Öh... Ich habs nochmal geupdatet ^^

Jetzt müsste es gehen.

Hinweis:
Es gibt 4 Modi! Hier die wichtigen 3:
  • GS_STARTET : Es läuft ganz normal.... Jeder "Interval"-ms wird das Event "OnInterval" ausgelöst (Aufruf: .Start)
  • GS_STOPED : Da macht er nichts (Aufruf: .Reset)
  • GS_SELF : Da muss man die Funktion .NextSteop() aufrufen um ein Schritt weiter zu gehen (Auruf: .SelfIntervall)
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#10

Re: Graph-Komponente

  Alt 3. Mär 2007, 20:25
Also der OI Ignoriert da gar nix, Du musst ihm schon mitteilen, das er machen soll ^^
Und Default Werte im Konstruktor initialisieren.

Das sich da nix rührt ist kein Wunder...
property GridColor : TColor read FGridColor write FGridColor default $0000FF00; Du musst ihm schon sagen, was er machen soll
Delphi-Quellcode:
   FGridColor:TColor;
...
   procedure SetGridColor(Value:TColor);
...
   property GridColor : TColor read FGridColor write SetGridColor default $0000FF00;

...

procedure TGraph.SetGraphColor(Value:TColor);
begin
   FGraphColor:=Value; // Neuen Wert zuweisen
   ...
   If Visible then Paint; // Updaten
end;

...
constructor TGraph.Create(AOwner: TComponent);
...
  FGridColor:=$0000FF00; // Einstellen des Default Wertes
...

Edit: Wo ist denn das Attachment abgeblieben?
Angehängte Dateien
Dateityp: zip graph_138.zip (2,0 KB, 16x aufgerufen)
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  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 14:55 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