Initial commit
This commit is contained in:
@@ -0,0 +1,122 @@
|
||||
//---------------------------------------------------------------------------
|
||||
#include <vcl.h>
|
||||
#pragma hdrstop
|
||||
|
||||
#include "GlobalUnit.h"
|
||||
#include "stdio.h"
|
||||
#include "PlayTimePanel.h"
|
||||
//---------------------------------------------------------------------------
|
||||
#pragma package(smart_init)
|
||||
|
||||
#define SHOW_LEFT 8
|
||||
#define SHOW_TOP 5
|
||||
#define SHOW_BOTTOM 24
|
||||
#define SHOW_WIDTH_1 6
|
||||
#define SHOW_WIDTH_2 15
|
||||
#define SHOW_WIDTH_3 22
|
||||
|
||||
const COLORREF CLR_BACK = RGB( 74, 80, 88 ),
|
||||
CLR_TEXT = RGB( 201, 214, 229 );
|
||||
|
||||
__fastcall TPlayTimePanel::TPlayTimePanel(TComponent *Owner) : TPanel(Owner)
|
||||
{
|
||||
memset( m_iTime, 0, sizeof(m_iTime) );
|
||||
|
||||
m_iLeft[0] = SHOW_LEFT;
|
||||
m_iRight[0] = m_iLeft[0] + SHOW_WIDTH_3;
|
||||
m_iLeft[1] = m_iRight[0] + SHOW_WIDTH_1;
|
||||
m_iRight[1] = m_iLeft[1] + SHOW_WIDTH_2;
|
||||
m_iLeft[2] = m_iRight[1] + SHOW_WIDTH_1;
|
||||
m_iRight[2] = m_iLeft[2] + SHOW_WIDTH_3;
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
__fastcall TPlayTimePanel::~TPlayTimePanel()
|
||||
{
|
||||
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
void __fastcall TPlayTimePanel::CreateWnd()
|
||||
{
|
||||
TPanel::CreateWnd();
|
||||
|
||||
Canvas->Font->Name = "Tahoma";
|
||||
Canvas->Font->Color = CLR_TEXT;
|
||||
Canvas->Font->Size = g_szFont9;
|
||||
Canvas->Font->Pitch = TFontPitch::fpFixed;
|
||||
Canvas->Font->Quality = TFontQuality::fqClearTypeNatural;
|
||||
Canvas->Brush->Style = bsClear;
|
||||
|
||||
Hint = "µ±Ç°Î»ÖÃ(½ÚÅÄ)";
|
||||
ShowHint = true;
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
void __fastcall TPlayTimePanel::Paint()
|
||||
{
|
||||
char strTime[4];
|
||||
|
||||
sprintf( strTime, "%03d", m_iTime[0] );
|
||||
Canvas->TextOut( m_iLeft[0], SHOW_TOP, strTime );
|
||||
|
||||
sprintf( strTime, "%02d", m_iTime[1] );
|
||||
Canvas->TextOut( m_iLeft[1], SHOW_TOP, strTime );
|
||||
|
||||
sprintf( strTime, "%03d", m_iTime[2] );
|
||||
Canvas->TextOut( m_iLeft[2], SHOW_TOP, strTime );
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
void __fastcall TPlayTimePanel::WMEraseBkgnd(TWMEraseBkgnd &Message)
|
||||
{
|
||||
TCanvas* pCanvas = new TCanvas();
|
||||
pCanvas->Handle = Message.DC;
|
||||
|
||||
TRect rect = GetClientRect();
|
||||
|
||||
pCanvas->Brush->Color = CLR_BACK; // »æÖƵ×É«
|
||||
pCanvas->FillRect(rect);
|
||||
|
||||
pCanvas->Font->Name = "Tahoma";
|
||||
pCanvas->Font->Color = CLR_TEXT;
|
||||
pCanvas->Font->Size = g_szFont9;
|
||||
pCanvas->Font->Pitch = TFontPitch::fpFixed;
|
||||
pCanvas->Font->Quality = TFontQuality::fqClearTypeNatural;
|
||||
pCanvas->Brush->Style = bsClear;
|
||||
|
||||
int iTop = SHOW_TOP - 1;
|
||||
pCanvas->TextOut( m_iLeft[1] - SHOW_WIDTH_1, iTop, ":" );
|
||||
pCanvas->TextOut( m_iLeft[2] - SHOW_WIDTH_1, iTop, ":" );
|
||||
|
||||
delete pCanvas;
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
void __fastcall TPlayTimePanel::SetTime( int iTime[3] )
|
||||
{
|
||||
TRect rect(0,SHOW_TOP,0,SHOW_BOTTOM);
|
||||
|
||||
if( iTime[0]!=m_iTime[0] ){
|
||||
m_iTime[0] = iTime[0];
|
||||
rect.left = m_iLeft[0];
|
||||
rect.right = m_iRight[0];
|
||||
InvalidateRect( Handle, &rect, FALSE );
|
||||
}
|
||||
|
||||
if( iTime[1]!=m_iTime[1] ){
|
||||
m_iTime[1] = iTime[1];
|
||||
rect.left = m_iLeft[1];
|
||||
rect.right = m_iRight[1];
|
||||
InvalidateRect( Handle, &rect, FALSE );
|
||||
}
|
||||
|
||||
if( iTime[2]!=m_iTime[2] ){
|
||||
m_iTime[2] = iTime[2];
|
||||
rect.left = m_iLeft[2];
|
||||
rect.right = m_iRight[2];
|
||||
InvalidateRect( Handle, &rect, FALSE );
|
||||
}
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user