Files
AccompanyCube/SoftwaresFormUnit.cpp
2026-06-13 00:10:11 +08:00

155 lines
3.9 KiB
C++

//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "GlobalUnit.h"
#include "SoftwaresFormUnit.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "PNGButton"
#pragma resource "*.dfm"
TSoftwaresForm *SoftwaresForm;
char u_strURLAndroid[256] = "/ichangzuo/File/Software/App/Ac/Android/Ac_Android.apk",
u_strURLiOS[256] = "http://itunes.apple.com/cn/app/id928747575";
//---------------------------------------------------------------------------
__fastcall TSoftwaresForm::TSoftwaresForm(TComponent* Owner)
: TForm(Owner)
{
m_pQRPanelAndroid = NULL;
m_pQRPaneliOS = NULL;
m_pQRdataAndroid = NULL;
m_pQRdataiOS = NULL;
}
//---------------------------------------------------------------------------
void __fastcall TSoftwaresForm::WMNCHitTest(TWMNCHitTest &Msg)
{
TForm::Dispatch(&Msg);
if( Msg.Result==HTCLIENT && Msg.YPos<Top+24 && Msg.XPos<Left+390)
Msg.Result = HTCAPTION;
}
//---------------------------------------------------------------------------
void __fastcall TSoftwaresForm::FormCreate(TObject *Sender)
{
Font->Color = RGB(60,43,23);
//绘制圆角窗体
HRGN hRgn = CreateRoundRectRgn( 0, 0, Width+1, Height+1, 16, 16 );
SetWindowRgn( Handle, hRgn, false );
DeleteObject( hRgn );
if( f_QR_Encode ){
char strURL[256] = "";
f_CS_GetWebPageURL( URL_HOMEPAGE, strURL );
strcat( strURL, u_strURLAndroid );
m_pQRdataAndroid = new unsigned char[100*100];
m_pQRdataiOS = new unsigned char[100*100];
int qrWidthA = f_QR_Encode( strURL, m_pQRdataAndroid ),
qrWidthI = f_QR_Encode( u_strURLiOS, m_pQRdataiOS );
m_pQRPanelAndroid = new TQRcodePanel( NULL );
if( m_pQRPanelAndroid ){
m_pQRPanelAndroid->Parent = this;
m_pQRPanelAndroid->SetBounds( 295, 75, 90, 90 );
m_pQRPanelAndroid->SetQRData( qrWidthA, m_pQRdataAndroid );
m_pQRPanelAndroid->Show();
}
m_pQRPaneliOS = new TQRcodePanel( NULL );
if( m_pQRPaneliOS ){
m_pQRPaneliOS->Parent = this;
m_pQRPaneliOS->SetBounds( 295, 175, 90, 90 );
m_pQRPaneliOS->SetQRData( qrWidthI, m_pQRdataiOS );
m_pQRPaneliOS->Show();
}
}
SetTransparent( this );
}
//---------------------------------------------------------------------------
void __fastcall TSoftwaresForm::FormDestroy(TObject *Sender)
{
if( m_pQRPanelAndroid ){
delete m_pQRPanelAndroid;
m_pQRPanelAndroid = NULL;
}
if( m_pQRdataAndroid ){
delete[] m_pQRdataAndroid;
m_pQRdataAndroid = NULL;
}
if( m_pQRPaneliOS ){
delete m_pQRPaneliOS;
m_pQRPaneliOS = NULL;
}
if( m_pQRdataiOS ){
delete[] m_pQRdataiOS;
m_pQRdataiOS = NULL;
}
}
//---------------------------------------------------------------------------
void __fastcall TSoftwaresForm::URLClick(TObject *Sender)
{
char strURL[256], strPage[256], os[16] = "pc";
f_CS_GetWebPageURL( URL_SOFTWARE, strPage );
int id = 2; //大众版
if( Sender==m_lbGoPro ){
id = 3; //专业版
}
else{
if( Sender==m_lbGoAndroid )
strcpy( os, "android" );
else if( Sender==m_lbGoiOS )
strcpy( os, "ios" );
}
sprintf( strURL, "%s?id=%d&os=%s", strPage, id, os );
// int id, os = 0;
// char strURL[256], strPage[256];
// f_CS_GetWebPageURL( URL_SOFTWARE, strPage );
//
//
// if( Sender==m_lbGoPro ){
// id = 3; //专业版
// }
// else{
// id = 2; //大众版
// if( Sender==m_lbGoAndroid )
// os = 1;
// else if( Sender==m_lbGoiOS )
// os = 2;
// }
//
// sprintf( strURL, "%s?id=%d&os=%d", strPage, id, os );
ShellExecute(Handle, NULL, ((String)strURL).c_str(), NULL, NULL, SW_SHOWNORMAL);
}
//---------------------------------------------------------------------------
void __fastcall TSoftwaresForm::URLMouseEnter(TObject *Sender)
{
Screen->Cursor = crHandPoint;
}
//---------------------------------------------------------------------------
void __fastcall TSoftwaresForm::URLMouseLeave(TObject *Sender)
{
Screen->Cursor = crDefault;
}
//---------------------------------------------------------------------------