CorpSms/DLG_ChangeTD.cpp
lujiang e17c4ce7ed 重新对窗口布局进行优化,解决缺字的情况。
对图标显示进行了优化,使用gdi+按DPI进行缩放。
2025-04-14 17:24:47 +08:00

158 lines
3.9 KiB
C++

// DLG_ChangeTD.cpp : implementation file
//
#include "stdafx.h"
#include "corpsms.h"
#include "DLG_ChangeTD.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// DLG_ChangeTD dialog
DLG_ChangeTD::DLG_ChangeTD(CWnd* pParent /*=NULL*/)
: CDialog(DLG_ChangeTD::IDD, pParent)
{
//{{AFX_DATA_INIT(DLG_ChangeTD)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
m_pTD = NULL;
memset(&m_TD,0,sizeof(m_TD));
}
void DLG_ChangeTD::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(DLG_ChangeTD)
DDX_Control(pDX, IDD_CHANGETD_TELCOM, m_wndTelcom);
DDX_Control(pDX, IDD_CHANGETD_UNICOM, m_wndUnicom);
DDX_Control(pDX, IDD_CHANGETD_PHS, m_wndPhs);
DDX_Control(pDX, IDD_CHANGETD_CW, m_B_CW);
DDX_Control(pDX, IDD_CHANGETD_CMCC, m_wndCmcc);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(DLG_ChangeTD, CDialog)
//{{AFX_MSG_MAP(DLG_ChangeTD)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// DLG_ChangeTD message handlers
void DLG_ChangeTD::OnOK()
{
m_TD.cCmcc = m_pTD->cCmcc;
m_TD.cUnicom = m_pTD->cUnicom;
m_TD.cPhs = m_pTD->cPhs;
m_TD.cTelcom = m_pTD->cTelcom;
m_TD.lType = 2; //Éè¿Í»§¶ËÊý¾Ý
m_TD.bCW = m_B_CW.GetCheck();
if ( m_wndCmcc.GetCurSel()>=0 )
{
m_TD.cCmcc = (TCHAR)m_wndCmcc.GetItemData(m_wndCmcc.GetCurSel());
}
if ( m_wndUnicom.GetCurSel()>=0 )
{
m_TD.cUnicom = (TCHAR)m_wndUnicom.GetItemData(m_wndUnicom.GetCurSel());
}
if ( m_wndPhs.GetCurSel()>=0 )
{
m_TD.cPhs = (TCHAR)m_wndPhs.GetItemData(m_wndPhs.GetCurSel());
}
if ( m_wndTelcom.GetCurSel()>=0 )
{
m_TD.cTelcom = (TCHAR)m_wndTelcom.GetItemData(m_wndTelcom.GetCurSel());
}
CDialog::OnOK();
}
BOOL DLG_ChangeTD::OnInitDialog()
{
CDialog::OnInitDialog();
m_B_CW.SetCheck(m_pTD->bCW);
if ( !m_pTD->bCliTD_CW )
m_B_CW.ShowWindow(SW_HIDE);
SC_CliTD * pRetTD_Cmcc = (SC_CliTD *)((BYTE*)m_pTD+sizeof(ANS_CliSmsTD));
SC_CliTD * pRetTD_Unicom = (SC_CliTD *)((BYTE*)m_pTD+sizeof(ANS_CliSmsTD)+sizeof(SC_CliTD)*(m_pTD->lCliTD_Cmcc));
SC_CliTD * pRetTD_Phs = (SC_CliTD *)((BYTE*)m_pTD+sizeof(ANS_CliSmsTD)+sizeof(SC_CliTD)*(m_pTD->lCliTD_Cmcc+m_pTD->lCliTD_Unicom));
SC_CliTD * pRetTD_Telcom = (SC_CliTD *)((BYTE*)m_pTD+sizeof(ANS_CliSmsTD)+sizeof(SC_CliTD)*(m_pTD->lCliTD_Cmcc+m_pTD->lCliTD_Unicom+m_pTD->lCliTD_Phs));
//ÉèÒÆ¶¯Êý¾Ý
int j=0;
int iSel=-1;
for ( int i=0 ; i<m_pTD->lCliTD_Cmcc ; i++ )
{
CString str = pRetTD_Cmcc[i].szTDName;
int iItem = m_wndCmcc.AddString(str);
m_wndCmcc.SetItemData(iItem,(DWORD_PTR)pRetTD_Cmcc[i].cSrcTD);
if ( pRetTD_Cmcc[i].cSrcTD == m_pTD->cCmcc )
iSel = i;
}
m_wndCmcc.SetCurSel(iSel);
//ÉèÁªÍ¨Êý¾Ý
j=0;
iSel=-1;
for ( i=0 ; i<m_pTD->lCliTD_Unicom ; i++ )
{
CString str = pRetTD_Unicom[i].szTDName;
int iItem=m_wndUnicom.AddString(str);
m_wndUnicom.SetItemData(iItem,(DWORD_PTR)pRetTD_Unicom[i].cSrcTD);
if ( pRetTD_Unicom[i].cSrcTD == m_pTD->cUnicom )
iSel = i;
}
m_wndUnicom.SetCurSel(iSel);
//ÉèСÁéͨÊý¾Ý
j=0;
iSel=-1;
for ( i=0 ; i<m_pTD->lCliTD_Phs ; i++ )
{
CString str = pRetTD_Phs[i].szTDName;
int iItem = m_wndPhs.AddString(str);
m_wndPhs.SetItemData(iItem,(DWORD_PTR)pRetTD_Phs[i].cSrcTD);
if ( pRetTD_Phs[i].cSrcTD == m_pTD->cPhs )
iSel = i;
}
m_wndPhs.SetCurSel(iSel);
//ÉèµçÐÅÊý¾Ý
j=0;
iSel=-1;
for ( i=0 ; i<m_pTD->lCliTD_Telcom ; i++ )
{
CString str = pRetTD_Telcom[i].szTDName;
int iItem = m_wndTelcom.AddString(str);
m_wndTelcom.SetItemData(iItem,(DWORD_PTR)pRetTD_Telcom[i].cSrcTD);
if ( pRetTD_Telcom[i].cSrcTD == m_pTD->cTelcom )
iSel = i;
}
m_wndTelcom.SetCurSel(iSel);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void DLG_ChangeTD::SetParam(ANS_CliSmsTD *pTD)
{
m_pTD = pTD;
}