Initial commit
This commit is contained in:
@@ -0,0 +1,144 @@
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
#include <vcl.h>
|
||||
#pragma hdrstop
|
||||
#include "GlobalUnit.h"
|
||||
#include "UpdateFormUnit.h"
|
||||
//---------------------------------------------------------------------------
|
||||
#pragma package(smart_init)
|
||||
#pragma link "PNGButton"
|
||||
#pragma resource "*.dfm"
|
||||
TUpdateForm *UpdateForm;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
__fastcall TUpdateForm::TUpdateForm(TComponent* Owner)
|
||||
: TForm(Owner)
|
||||
{
|
||||
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
void __fastcall TUpdateForm::FormCreate(TObject *Sender)
|
||||
{
|
||||
SetTransparent( this );
|
||||
// Left = Screen->Width / 2 - Width / 2;
|
||||
// Top = Screen->Height / 2 - Height / 2;
|
||||
HRGN hRgn = CreateRoundRectRgn(0, 0, Width + 1, Height + 1, 20, 20);
|
||||
SetWindowRgn(Handle, hRgn, TRUE);
|
||||
DeleteObject(hRgn);
|
||||
ShowMSG();
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
void __fastcall TUpdateForm::WMNCHitTest(TWMNCHitTest &Msg) {
|
||||
TForm::Dispatch(&Msg);
|
||||
|
||||
if (Msg.Result == HTCLIENT && Msg.XPos > Left + 10 && Msg.XPos <
|
||||
Left + Width - 20 && Msg.YPos < Top + 24)
|
||||
Msg.Result = HTCAPTION;
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
void TUpdateForm::ShowMSG()
|
||||
{
|
||||
TRect rtDownload;
|
||||
String strNew;
|
||||
strNew.sprintf( L"最新版本:%d.%d.%d.%d",
|
||||
g_infoSoftwareUpdate.version.majorVersion,
|
||||
g_infoSoftwareUpdate.version.minorVersion,
|
||||
g_infoSoftwareUpdate.version.modifyVersion,
|
||||
g_infoSoftwareUpdate.version.buildVersion );
|
||||
|
||||
if( g_infoSoftwareUpdate.version.majorVersion==0 )
|
||||
strNew += L" 测试版";
|
||||
else
|
||||
strNew += L" 正式版";
|
||||
|
||||
m_lbNewVer->Caption = strNew.c_str();
|
||||
|
||||
int wMaj, wMin, wMod, wBld;
|
||||
sscanf( g_strCurrentVersion, "%d.%d.%d.%d", &wMaj, &wMin, &wMod, &wBld );
|
||||
string strCurrent = "当前版本:";
|
||||
strCurrent += g_strCurrentVersion;
|
||||
|
||||
if( wMaj==0 )
|
||||
strCurrent += " 测试版";
|
||||
else
|
||||
strCurrent += " 正式版";
|
||||
|
||||
m_lbCurrentVer->Caption = strCurrent.c_str();
|
||||
|
||||
string sDescribe = UTF8ToMBCS( g_infoSoftwareUpdate.strDescribe );
|
||||
String strResource = sDescribe.c_str();
|
||||
String strTemp;
|
||||
int ibg = 1;
|
||||
int i = 1;
|
||||
for( i = 1; i < strResource.Length(); i++){
|
||||
if(strResource[i]=='\n'){
|
||||
if(i!=ibg){
|
||||
strTemp = strResource.SubString(ibg,i-ibg);
|
||||
m_lbUpdateMsg->Items->Add(strTemp);
|
||||
}else{
|
||||
strTemp = "\n" ;
|
||||
m_lbUpdateMsg->Items->Add(strTemp);
|
||||
}
|
||||
ibg = i+1;
|
||||
}
|
||||
}
|
||||
|
||||
if(i > ibg){
|
||||
strTemp = strResource.SubString(ibg,i-ibg+1);
|
||||
m_lbUpdateMsg->Items->Add(strTemp);
|
||||
}
|
||||
|
||||
if( g_bUpdateMandatory ){
|
||||
m_lbDownloadMsg->Font->Color = clRed;
|
||||
m_lbDownloadMsg->Caption = "当前版本下,用户将无法进行登录\n账号和全曲操作,建议升级到最新\n版本。" ;
|
||||
}
|
||||
else{
|
||||
m_lbDownloadMsg->Font->Color = clBlack;
|
||||
m_lbDownloadMsg->Top += 5;
|
||||
m_lbDownloadMsg->Caption = "新的版本已发布,建议立即更新。" ;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
|
||||
void __fastcall TUpdateForm::m_lbDownloadMouseEnter(TObject *Sender)
|
||||
{
|
||||
Screen->Cursor = crHandPoint;
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
void __fastcall TUpdateForm::m_lbDownloadMouseLeave(TObject *Sender)
|
||||
{
|
||||
Screen->Cursor = crDefault;
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
void __fastcall TUpdateForm::m_lbDownloadClick(TObject *Sender)
|
||||
{
|
||||
char strURL[256];
|
||||
f_CS_GetWebPageURL( URL_SOFTWARE, strURL );
|
||||
strcat( strURL, "?id=2&os=pc" );
|
||||
|
||||
ShellExecute(Handle,NULL, ((String)strURL).c_str(), NULL,NULL,SW_SHOWNORMAL);
|
||||
Close();
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
void __fastcall TUpdateForm::FormKeyDown(TObject *Sender, WORD &Key, TShiftState Shift)
|
||||
{
|
||||
switch( Key ){
|
||||
case VK_RETURN:
|
||||
return m_lbDownloadClick(NULL);
|
||||
break;
|
||||
|
||||
case VK_ESCAPE:
|
||||
ModalResult = mrCancel;
|
||||
break;
|
||||
}
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user