125 lines
3.5 KiB
C++
125 lines
3.5 KiB
C++
#include "stdafx.h"
|
|
#include "AboutDlg.h"
|
|
|
|
IMPLEMENT_DYNAMIC(CAboutDlg, CDialog)
|
|
|
|
CAboutDlg::CAboutDlg(CWnd* pParent /*=NULL*/)
|
|
: CDialog(CAboutDlg::IDD, pParent)
|
|
, m_hBmpIcon(NULL)
|
|
, m_hBmpQR(NULL)
|
|
, m_hBmpTitle(NULL)
|
|
{
|
|
|
|
}
|
|
|
|
CAboutDlg::~CAboutDlg()
|
|
{
|
|
if (m_hBmpIcon)
|
|
::DestroyIcon(m_hBmpIcon);
|
|
if (m_hBmpQR)
|
|
::DeleteObject(m_hBmpQR);
|
|
if (m_hBmpTitle)
|
|
::DeleteObject(m_hBmpTitle);
|
|
}
|
|
|
|
void CAboutDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
|
|
ON_BN_CLICKED(IDOK, &CAboutDlg::OnBnClickedOk)
|
|
END_MESSAGE_MAP()
|
|
|
|
BOOL CAboutDlg::OnInitDialog()
|
|
{
|
|
CDialog::OnInitDialog();
|
|
|
|
ReadVersion();
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
void CAboutDlg::OnBnClickedOk()
|
|
{
|
|
OnOK();
|
|
}
|
|
|
|
void CAboutDlg::ReadVersion()
|
|
{
|
|
TCHAR szfileName[MAX_PATH],szFullPath[MAX_PATH];
|
|
GetModuleFileName(_hdllInstance,szfileName,MAX_PATH);
|
|
|
|
TCHAR drive[_MAX_DRIVE] = _T(""),
|
|
dir[_MAX_DIR] = _T(""),
|
|
fname[_MAX_FNAME] = _T(""),
|
|
ext[_MAX_EXT] = _T("");
|
|
|
|
//e:\,program files\autodesk\,myarx,exe
|
|
_tsplitpath(szfileName, drive, dir, fname, ext);
|
|
_tcscpy(szFullPath, drive);
|
|
_tcscat(szFullPath, dir);
|
|
|
|
CString sFullPath = szFullPath;
|
|
sFullPath.TrimRight(_T('\\'));
|
|
|
|
//上一级目录
|
|
int nPos = sFullPath.ReverseFind(_T('\\'));
|
|
CString sPath = sFullPath.Mid(0,nPos + 1);
|
|
|
|
sFullPath = sPath + _T("sys\\");
|
|
sFullPath += _T("product.ini");
|
|
|
|
TCHAR szValue[MAX_PATH],szValue2[MAX_PATH];
|
|
::GetPrivateProfileString(_T("Product"), _T("CName"), _T(""), szValue, MAX_PATH, sFullPath);
|
|
|
|
GetDlgItem(IDC_STATIC_SOFT)->SetWindowText(szValue);
|
|
|
|
::GetPrivateProfileString(_T("Product"), _T("IconFile"), _T(""), szValue, MAX_PATH, sFullPath);
|
|
|
|
CString sFile = sPath + _T("sys\\") + szValue;
|
|
m_hBmpIcon = (HICON)LoadImage(NULL, sFile, IMAGE_ICON, 0, 0, LR_CREATEDIBSECTION | LR_DEFAULTSIZE | LR_DEFAULTCOLOR | LR_LOADFROMFILE);
|
|
CStatic* pSta = (CStatic*)GetDlgItem(IDC_STATIC_ICON);
|
|
pSta->SetIcon(m_hBmpIcon);
|
|
|
|
sFile.MakeLower();
|
|
sFile.Replace(_T(".ico"),_T(".bmp"));
|
|
|
|
m_hBmpTitle = (HBITMAP)LoadImage(NULL,sFile,IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION|LR_DEFAULTSIZE|LR_LOADFROMFILE);
|
|
pSta = (CStatic*)GetDlgItem(IDC_STATIC_TITLE);
|
|
pSta->SetBitmap(m_hBmpTitle);
|
|
|
|
|
|
sFile = sPath + _T("sys\\QRCode.bmp");
|
|
m_hBmpQR = (HBITMAP)LoadImage(NULL,sFile,IMAGE_BITMAP,100,100,LR_CREATEDIBSECTION|LR_LOADFROMFILE);
|
|
pSta = (CStatic*)GetDlgItem(IDC_STATIC_QR);
|
|
pSta->SetBitmap(m_hBmpQR);
|
|
|
|
::GetPrivateProfileString(_T("Product"), _T("APPVer"), _T(""), szValue, MAX_PATH, sFullPath);
|
|
::GetPrivateProfileString(_T("Product"), _T("SubVer"), _T(""), szValue2, MAX_PATH, sFullPath);
|
|
|
|
CString sText = szValue;
|
|
sText += _T(" ");
|
|
sText += szValue2;
|
|
GetDlgItem(IDC_STATIC_1)->SetWindowText(sText);
|
|
|
|
//标示从锁中读取
|
|
::GetPrivateProfileString(_T("Product"), _T("ProductId"), _T(""), szValue, MAX_PATH, sFullPath);
|
|
GetDlgItem(IDC_STATIC_2)->SetWindowText(szValue);
|
|
|
|
::GetPrivateProfileString(_T("About"), _T("Http"), _T(""), szValue, MAX_PATH, sFullPath);
|
|
GetDlgItem(IDC_STATIC_3)->SetWindowText(szValue);
|
|
|
|
::GetPrivateProfileString(_T("About"), _T("Email"), _T(""), szValue, MAX_PATH, sFullPath);
|
|
GetDlgItem(IDC_STATIC_4)->SetWindowText(szValue);
|
|
|
|
::GetPrivateProfileString(_T("About"), _T("TEL"), _T(""), szValue, MAX_PATH, sFullPath);
|
|
GetDlgItem(IDC_STATIC_5)->SetWindowText(szValue);
|
|
|
|
::GetPrivateProfileString(_T("About"), _T("FAX"), _T(""), szValue, MAX_PATH, sFullPath);
|
|
GetDlgItem(IDC_STATIC_6)->SetWindowText(szValue);
|
|
|
|
::GetPrivateProfileString(_T("About"), _T("CopyRight1"), _T(""), szValue, MAX_PATH, sFullPath);
|
|
GetDlgItem(IDC_STATIC_7)->SetWindowText(szValue);
|
|
} |