AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Digital-Anzeige

Digital-Anzeige

Ein Thema von faux · begonnen am 17. Aug 2005 · letzter Beitrag vom 18. Aug 2005
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von Kroko1999
Kroko1999

Registriert seit: 21. Apr 2005
Ort: Spremberg
455 Beiträge
 
Turbo Delphi für Win32
 
#1

Re: Digital-Anzeige

  Alt 17. Aug 2005, 12:58
Zitat von faux:
1)...
2) Aber dann hab ich die ganzen TPanel Methoden und eigenschaften im Root (nennt man das da so?). Also wenn ich TZiffer. schreibe, dann kommt gleiche eine Liste mit allen TPanel Methoden und das finde ich hier IMHO etwas überflüssig.
es sind nur die con TCustomPanel public/published-Methoden, und dies dürften nicht soviel sein
ich wollte nämlich aus dem 1.Beitrag TZiffer.SetBounds (...) aufrufen und dies ging nicht!

//EDIT: man kann auch auf dei UnterPanels verzichten, wenn man in Paint direkt zeichnet, beim ändern muss man nur Self.Invalidate aufrufen!
Da sprach der Stumme zum Blinden: "Du wirst sehen ..."
oder
Wer lesen kann, ist klar im Vorteil!
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Digital-Anzeige

  Alt 17. Aug 2005, 15:56
Zitat von Kroko1999:
man kann auch auf dei UnterPanels verzichten, wenn man in Paint direkt zeichnet, beim ändern muss man nur Self.Invalidate aufrufen!
Wie??
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
  Mit Zitat antworten Zitat
Benutzerbild von Kroko1999
Kroko1999

Registriert seit: 21. Apr 2005
Ort: Spremberg
455 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Digital-Anzeige

  Alt 18. Aug 2005, 12:16
so
Delphi-Quellcode:
unit unitZiffer;

interface

uses
  Classes, Graphics, ExtCtrls;

type
{-- Range --}
  TValueRange = 0..9;
{-- Class: --}
TCustomZiffer = class (TCustomPanel)
    constructor Create (AOwner: TComponent); override;
  private
    FNumerus: TValueRange;
    FBarColor: TColor;
    FFrameColor: TColor;
    procedure SetNumerus(const Value: TValueRange);
    procedure SetBarColor(const Value: TColor);
    procedure SetFrameColor(const Value: TColor);
  protected
    procedure Paint; override;
    property Numerus: TValueRange read FNumerus write SetNumerus;
    property BarColor: TColor read FBarColor write SetBarColor;
    property FrameColor: TColor read FFrameColor write SetFrameColor;
  public
end;

{-- Class: --}
TZiffer= class (TCustomZiffer)
  public
  published
    property Numerus;
    property BarColor;
    property FrameColor;
    // hier kann man weitere Eigenschaften, die man benötigt freigeben
end;


implementation

{ TCustomZiffer }

constructor TCustomZiffer.Create(AOwner: TComponent);
begin
  inherited;
  FNumerus := 0;
  FBarColor := clRed;
  FFrameColor := clYellow;
  Width := 65;
  Height := 105;
end;

procedure TCustomZiffer.Paint;
const
  coBars: array[TValueRange] of Byte =
          ($7E,$18,$6D,$3D,$1B,
           $37,$77,$1C,$7F,$3F);

  coPos: array[0..6,0..3] of Integer = ((9,33,48,16),(33,9,16,8),(9,33,8,16),
                                        (33,9,16,48),(33,9,56,48),(9,33,88,16),(33,9,56,8));
var
  I,B: Byte;
begin
  inherited;
  B := 1;
  Canvas.Brush.Color := FBarColor;
  Canvas.Pen.Color := FFrameColor;
  for I := 0 to 6 do
  begin
    if (B and coBars[FNumerus])>0 then
      begin
        Canvas.Rectangle(coPos[I][3],coPos[I][2],
                         coPos[I][3]+coPos[I][1],
                         coPos[I][2]+coPos[I][0]);

      end;
    B := B shl 1;
  end;


end;

procedure TCustomZiffer.SetBarColor(const Value: TColor);
begin
  if Value<>FBarColor then
    begin
      FBarColor := Value;
      Invalidate;
    end;
end;

procedure TCustomZiffer.SetFrameColor(const Value: TColor);
begin
  if FFrameColor<>Value then
    begin
      FFrameColor := Value;
      Invalidate;
    end;
end;

procedure TCustomZiffer.SetNumerus(const Value: TValueRange);
begin
  if Value<>FNumerus then
    begin
      FNumerus := Value;
      Invalidate;
    end;
end;

end.
Da sprach der Stumme zum Blinden: "Du wirst sehen ..."
oder
Wer lesen kann, ist klar im Vorteil!
  Mit Zitat antworten Zitat
TheXception
(Gast)

n/a Beiträge
 
#4

Re: Digital-Anzeige

  Alt 18. Aug 2005, 13:57
Zitat von negaH:
Hi Faux,

du weist schon das es TrueType Fonts gibt ?
Die müssten aber bei dem jeweiligen user installiert sein.
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Digital-Anzeige

  Alt 18. Aug 2005, 14:44
Das obendrein....
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12

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 18:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz