JdSoft/DigitNum/DigitNum.h
2021-09-12 22:11:31 +02:00

73 lines
2.8 KiB
C++

//---------------------------------------------------------------------------
#ifndef DigitNumH
#define DigitNumH
//---------------------------------------------------------------------------
#include <SysUtils.hpp>
#include <Controls.hpp>
#include <Classes.hpp>
#include <Forms.hpp>
//---------------------------------------------------------------------------
class PACKAGE TDigitNum : public TGraphicControl
{
private:
TBorderStyle FBorderStyle; // Con borde o sin borde
TBrush *FBrush; // Para el relleno del fondo
TColor cLED_ON; // Color de la LED encendida y
TColor cLED_OFF; // apagada
TColor cLED_BRDon; // Color para el borde
TColor cLED_BRDoff; // Color para el borde
int FValor; // Valor inicial a mostrar
int FLen; // Número de digitos a mostrar
bool vCerosIzq;
// Evento OnChange, dirigido a la siguiente función:
void __fastcall CambioAtributo( TObject * Sender );
// Dibujo del letrero digital
void __fastcall DibujaLD( void );
void __fastcall DibujaDigito( short int Digito, short int AnchoDigit, short int PosInicial );
protected:
// Redefinimos el método Paint, que será llamado cada vez
// que sea necesario redibujar el componente.
void __fastcall Paint();
public:
void __fastcall SetNumDigit( int NuevoValor );
void __fastcall SetBrush( TBrush *NuevoValor );
void __fastcall SetBorderStyle( TBorderStyle NuevoValor );
void __fastcall SetLedOn( TColor NuevoValor );
void __fastcall SetLedOff( TColor NuevoValor );
void __fastcall SetLedBrdOn( TColor NuevoValor );
void __fastcall SetLedBrdOff( TColor NuevoValor );
void __fastcall SetCerosIzq( bool NuevoValor );
// Cambia la cadena a mostrar: "at RunTime"
void __fastcall SetCadena( int NuevaCadena );
__fastcall TDigitNum(TComponent* Owner);
__fastcall ~TDigitNum();
__published:
__property TBorderStyle BorderStyle = { read = FBorderStyle, write = SetBorderStyle, default=bsSingle };
__property TBrush *Brush = { read = FBrush, write = SetBrush };
__property TColor LED_ON = { read = cLED_ON, write = SetLedOn, default = clRed };
__property TColor LED_OFF = { read = cLED_OFF, write = SetLedOff, default = clBtnFace };
__property TColor LED_BRDon = { read = cLED_BRDon, write = SetLedBrdOn, default = clBlack };
__property TColor LED_BRDoff = { read = cLED_BRDoff, write = SetLedBrdOff, default = clGray };
__property Left ;
__property Top ;
__property Width ;
__property Height ;
__property bool CerosIzq = { read = vCerosIzq, write = SetCerosIzq, default = false };
__property int Value = { read = FValor, write = SetCadena };
__property int MaxLength = { read = FLen , write = SetNumDigit , default = 4 };
};
//---------------------------------------------------------------------------
#endif