Files
envi-code/SourceCode/Code2026/Pool3dCmd/AboutDlg.cpp
T
2026-09-28 15:28:50 +08:00

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);
}