📄 telbookdlg.cpp
字号:
// TelBookDlg.cpp : implementation file
//
#include "stdafx.h"
#include "GSM_Ctrl_Prj.h"
#include "TelBookDlg.h"
#include "AddTelDlg.h"
#include "Common.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CTelBookDlg dialog
CTelBookDlg::CTelBookDlg(CWnd* pParent /*=NULL*/)
: CDialog(CTelBookDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CTelBookDlg)
//}}AFX_DATA_INIT
}
void CTelBookDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CTelBookDlg)
DDX_Control(pDX, IDC_TELBOOK, m_telBookList);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CTelBookDlg, CDialog)
//{{AFX_MSG_MAP(CTelBookDlg)
ON_BN_CLICKED(IDC_TBADDBTN, OnTbAddBtn)
ON_BN_CLICKED(IDC_TBDELBTN, OnTbDelBtn)
ON_BN_CLICKED(IDC_TBMODIFYBTN, OnTbModifyBtn)
ON_BN_CLICKED(IDC_TBSAVEBTN, OnTbSaveBtn)
ON_BN_CLICKED(IDC_TBCALLBTN, OnTbCallBtn)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CTelBookDlg message handlers
void CTelBookDlg::OnTbAddBtn()
{
// TODO: Add your control notification handler code here
CAddTelDlg addDlg;
int nItem;
if(addDlg.DoModal() == IDOK){
nItem = m_telBookList.InsertItem(m_telBookList.GetItemCount() , addDlg.m_telStr.GetBuffer(addDlg.m_telStr.GetLength()) , 0);
m_telBookList.SetItemText(nItem , 1 , addDlg.m_nameStr.GetBuffer(addDlg.m_nameStr.GetLength()));
}
}
void CTelBookDlg::OnTbDelBtn()
{
// TODO: Add your control notification handler code here
POSITION Pos = m_telBookList.GetFirstSelectedItemPosition();
int nIndex = m_telBookList.GetNextSelectedItem(Pos);
if(nIndex < 0)
{
MessageBox("请选择要删除的用户!" , "警告" , MB_OK+MB_ICONWARNING);
return;
}
if(MessageBox("确实要删除此号码吗?" , "警告" , MB_OKCANCEL+MB_ICONWARNING+MB_DEFBUTTON2)==IDCANCEL)
return;
m_telBookList.DeleteItem(nIndex);
}
void CTelBookDlg::OnTbModifyBtn()
{
// TODO: Add your control notification handler code here
CAddTelDlg addDlg;
int nItem;
POSITION Pos = m_telBookList.GetFirstSelectedItemPosition();
int nIndex = m_telBookList.GetNextSelectedItem(Pos);
if(nIndex < 0)
{
MessageBox("请选择要修改的号码!" , "警告" , MB_OK+MB_ICONWARNING);
return;
}
addDlg.m_telStr=m_telBookList.GetItemText(nIndex,0);
addDlg.m_nameStr=m_telBookList.GetItemText(nIndex,1);
if(addDlg.DoModal() == IDOK){
//nItem = m_telBookList.InsertItem(m_telBookList.GetItemCount() , addDlg.m_telStr.GetBuffer(addDlg.m_telStr.GetLength()) , 0);
m_telBookList.SetItemText(nIndex , 0 , addDlg.m_telStr.GetBuffer(addDlg.m_telStr.GetLength()));
m_telBookList.SetItemText(nIndex , 1 , addDlg.m_nameStr.GetBuffer(addDlg.m_nameStr.GetLength()));
}
}
void CTelBookDlg::OnTbSaveBtn()
{
// TODO: Add your control notification handler code here
CStdioFile file;
if(!file.Open(m_strFileName , CFile::modeCreate|CFile::modeWrite|CFile::typeText))
{
AfxMessageBox("号码簿文件创建失败!" , MB_ICONERROR);
return;
}
int nCnt = m_telBookList.GetItemCount();
for(int i=0 ; i<nCnt ; i++)
{
CString strPhone = m_telBookList.GetItemText(i , 0);
CString strName = m_telBookList.GetItemText(i , 1);
m_strFileLine = strPhone + "\t" + strName + "\r\n";
file.WriteString(m_strFileLine);
}
file.Close();
}
BOOL CTelBookDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
//初始化号码簿列表控件
// m_pImageList = new CImageList;
// m_hImageList = m_pImageList->GetSafeHandle();
// m_pImageList->Attach(m_hImageList);
//
// m_pImageList->Create(IDB_BITMAP1 , 16 , 1 , RGB(255,255,255));
// m_telBookList.SetImageList(m_pImageList , LVSIL_SMALL);
//
// //用该种方法设置CListCtrl风格后,在对该控件设置单选属性SingleSelection时会出现复选框
// //m_dwPhoneListStyle = m_ctrlPhoneList.GetStyle();
// //m_ctrlPhoneList.SetExtendedStyle(m_dwPhoneListStyle | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
//
m_telBookList.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
//
m_telBookList.InsertColumn(0 , "手机号" , LVCFMT_LEFT , 120 , -1);
m_telBookList.InsertColumn(1 , "姓名" , LVCFMT_LEFT , 80 , -1);
// //----------------------------------------------------------
//
// //----------------------------------------------------------
//读号码簿
m_strFileName = "PhoneBook.pbl";
CStdioFile file;
if(!file.Open(m_strFileName , CFile::modeCreate|CFile::modeNoTruncate|CFile::shareDenyNone|CFile::modeRead|CFile::typeText))
return FALSE;
char szBuf[50];
char szPhone[12];
char szName[11];
// CString tempStr;
while(file.ReadString(m_strFileLine))
{
strcpy(szBuf , (LPCTSTR)m_strFileLine);
sscanf(szBuf , "%s\t%s\r\n" , szPhone , szName);
/// tempStr.Format("%s",szPhone);
int nItem = m_telBookList.InsertItem(m_telBookList.GetItemCount() , szPhone , 0);
m_telBookList.SetItemText(nItem , 1 , szName);
}
file.Close();
//----------------------------------------------------------
//----------------------------------------------------------
//初始化按钮
// if(m_nOpenFlag == 1)
// {
// GetDlgItem(IDC_ADDPHONE)->EnableWindow(FALSE);
// GetDlgItem(IDC_DELPHONE)->EnableWindow(FALSE);
// GetDlgItem(IDOK)->EnableWindow(FALSE);
// }
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CTelBookDlg::OnTbCallBtn()
{
// TODO: Add your control notification handler code here
POSITION Pos = m_telBookList.GetFirstSelectedItemPosition();
int nIndex = m_telBookList.GetNextSelectedItem(Pos);
if(nIndex < 0)
{
MessageBox("请选择要回复的信息!" , "警告" , MB_OK+MB_ICONWARNING);
return;
}
m_telStr=m_telBookList.GetItemText(nIndex,0);
AfxGetMainWnd()->SendMessage(MSG_CALL_OR_MSG_BACK,BACK_CALL,(long)&m_telStr);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -