亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? addressbookdlg.cpp

?? 利用文件存盤的地址本管理小程序<2040kb>
?? CPP
字號:
// AddressBookDlg.cpp : implementation file
//

#include "stdafx.h"
#include "AddressBook.h"
#include "AddressBookDlg.h"
#include "io.h"

#include "about.h"

#define DATA_FILE _T("AddressBook.dat")

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CAddressBookDlg dialog

CAddressBookDlg::CAddressBookDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CAddressBookDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CAddressBookDlg)
	m_strAddress1 = _T("");
	m_strAddress2 = _T("");
	m_strCity = _T("");
	m_strState = _T("");
	m_strZip = _T("");
	m_strHomePhone = _T("");
	m_strWorkPhone = _T("");
	m_strEmail = _T("");
	m_strWebPage = _T("");
	m_strNotes = _T("");
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CAddressBookDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAddressBookDlg)
	DDX_Control(pDX, IDC_CBO_NAMES, m_cboNames);
	DDX_Control(pDX, IDC_BTN_WEB_PAGE, m_btnWebPage);
	DDX_Control(pDX, IDC_BTN_EMAIL, m_btnEmail);
	DDX_Text(pDX, IDC_EDT_ADDR1, m_strAddress1);
	DDX_Text(pDX, IDC_EDT_ADDR2, m_strAddress2);
	DDX_Text(pDX, IDC_EDT_CITY, m_strCity);
	DDX_Text(pDX, IDC_EDT_STATE, m_strState);
	DDX_Text(pDX, IDC_EDT_ZIPCODE, m_strZip);
	DDX_Text(pDX, IDC_EDT_HOME_PHONE, m_strHomePhone);
	DDX_Text(pDX, IDC_EDT_WORK_PHONE, m_strWorkPhone);
	DDX_Text(pDX, IDC_EDT_EMAIL, m_strEmail);
	DDX_Text(pDX, IDC_EDT_WEB_PAGE, m_strWebPage);
	DDX_Text(pDX, IDC_EDT_NOTES, m_strNotes);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAddressBookDlg, CDialog)
	//{{AFX_MSG_MAP(CAddressBookDlg)
	ON_WM_SYSCOMMAND()
	ON_BN_CLICKED(ID_APP_ABOUT, OnAbout)
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_WM_DESTROY()
	ON_CBN_SELCHANGE(IDC_CBO_NAMES, OnSelchangeCboNames)
	ON_BN_CLICKED(IDC_BTN_WEB_PAGE, OnBtnWebPage)
	ON_BN_CLICKED(IDC_BTN_SAVE, OnBtnSave)
	ON_BN_CLICKED(IDC_BTN_CLOSE, OnBtnClose)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CAddressBookDlg message handlers

BOOL CAddressBookDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// Add "About..." menu item to system menu.

	// IDM_ABOUTBOX must be in the system command range.
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != NULL)
	{
		CString strAboutMenu;
		strAboutMenu.LoadString(IDS_ABOUTBOX);
		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
		}
	}

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
	// TODO: Add extra initialization here
	LoadRecords();
	FillContactsComboBox();	
	
	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CAddressBookDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
	{
		CAboutDlg dlgAbout;
		dlgAbout.DoModal();
	}
	else
	{
		CDialog::OnSysCommand(nID, lParam);
	}
}

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CAddressBookDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Center icon in client rectangle
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// Draw the icon
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}

// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CAddressBookDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}

void CAddressBookDlg::OnAbout()
{
 CAboutDlg().DoModal();
}

void CAddressBookDlg::OnDestroy()
{
 CDialog::OnDestroy();

 POSITION pos;
 CString strKey;
 CContact* pContact;

 pos = m_Contacts.GetStartPosition();
 while(NULL != pos)
 {
  m_Contacts.GetNextAssoc(pos, strKey, pContact);
  if (pContact)
  {
   m_Contacts.RemoveKey(strKey);
   delete pContact;
  }
 }
 ASSERT(NULL == m_Contacts.GetCount());
}

void CAddressBookDlg::OnSelchangeCboNames()
{
 int iIndex = m_cboNames.GetCurSel();
 if (CB_ERR != iIndex)
 {
  CContact* pContact =
  (CContact*)m_cboNames.GetItemData(iIndex);

  ASSERT(pContact);
  if (pContact)
  {
   m_strAddress1 = pContact->m_strAddress1;
   m_strAddress2 = pContact->m_strAddress2;
   m_strCity = pContact->m_strCity;
   m_strState = pContact->m_strState;
   m_strZip = pContact->m_strZip;
   m_strNotes = pContact->m_strNotes;
   m_strHomePhone = pContact->m_strHomePhone;
   m_strWorkPhone = pContact->m_strWorkPhone;
   m_strEmail = pContact->m_strEmail;
   m_strWebPage = pContact->m_strWebPage;

   UpdateData(FALSE);
  }
 }
}

void CAddressBookDlg::OnBtnWebPage()
{
 if (UpdateData(TRUE))
 {
  if (!m_strWebPage.IsEmpty())
  {
   if (32 >= (int)ShellExecute(NULL, "open",
    m_strWebPage, NULL, NULL, SW_SHOWNORMAL))
   {
    AfxMessageBox("::ShellExecute failed "
    "to open this link!");
   }
  }
  else
  {
   AfxMessageBox("You must first specify a URL");
  }
 }
}

void CAddressBookDlg::Serialize(CArchive& ar) 
{
	m_Contacts.Serialize(ar);
 	if (ar.IsStoring())
	{	// storing code
	}
	else
	{	// loading code
	}
}

BOOL CAddressBookDlg::CanSerialize()
{
 return (0 == _access(DATA_FILE, 6));
}

void CAddressBookDlg::LoadRecords()
{
 if (CanSerialize())
 {
  CFile file;
  CFileException fe;

  if (file.Open(DATA_FILE, 
  CFile::typeBinary | CFile::modeRead, &fe))
  {
   CArchive ar(&file, CArchive::load);
   Serialize(ar);
  }
 }
}

void CAddressBookDlg::FillContactsComboBox()
{
 POSITION pos;
 CString strKey;
 CContact* pContact;

 int iIndex;

 pos = m_Contacts.GetStartPosition();
 while(NULL != pos)
 {
  m_Contacts.GetNextAssoc(pos, strKey, pContact);
  if (pContact)
  {
   if (CB_ERR != (iIndex =
   m_cboNames.AddString(pContact->m_strName)))
   {
    m_cboNames.SetItemData(iIndex, (DWORD)pContact);
   }
  }
 }	
}

void CAddressBookDlg::SaveRecords()
{
 BOOL bCanSave = FALSE;

 UINT nFlags = CFile::typeBinary | CFile::modeWrite;

 // file doesn't exist, so create it
 if (_access(DATA_FILE, 0))
 {
  nFlags |= CFile::modeCreate;
  bCanSave = TRUE;
 }
 else
 {
  bCanSave = CanSerialize();
 }

 if (bCanSave)
 {
  CFile file;
  CFileException fe;

  // file exists with read & write permissions
  if (file.Open(DATA_FILE, nFlags, &fe))
  {
   CArchive ar(&file, CArchive::store);
   Serialize(ar);
  }
 }
}

void CAddressBookDlg::OnBtnSave() 
{
 if (UpdateData(TRUE))
 {
  CContact* pContact = NULL;

  CString strName;
  m_cboNames.GetWindowText(strName);
  if (0 != strName.GetLength())
  {
   if (!m_Contacts.Lookup(strName, (CContact*)pContact))
   {
    pContact = new CContact;
    int iIndex = m_cboNames.AddString(strName);
    if (CB_ERR != iIndex)
    {
     m_cboNames.SetItemData(iIndex, (DWORD)pContact);
     m_Contacts.SetAt(strName, pContact);
    }
   }

   if (pContact)
   {
    pContact->m_strName = strName;
    pContact->m_strAddress1 = m_strAddress1;
    pContact->m_strAddress2 = m_strAddress2;
    pContact->m_strCity = m_strCity;
    pContact->m_strState = m_strState;
    pContact->m_strZip = m_strZip;
    pContact->m_strNotes = m_strNotes;
    pContact->m_strHomePhone = m_strHomePhone;
    pContact->m_strWorkPhone = m_strWorkPhone;
    pContact->m_strEmail = m_strEmail;
    pContact->m_strWebPage = m_strWebPage;
   }
  }
	InitializeDialog();
 }
}

void CAddressBookDlg::OnBtnClose() 
{
 SaveRecords();
 OnOK();
}

void CAddressBookDlg::InitializeDialog()
{
	m_cboNames.SetCurSel(CB_ERR);
	m_strAddress1 = _T("");
	m_strAddress2 = _T("");
	m_strCity = _T("");
	m_strState = _T("");
	m_strZip = _T("");
	m_strHomePhone = _T("");
	m_strWorkPhone = _T("");
	m_strEmail = _T("");
	m_strWebPage = _T("");
	m_strNotes = _T("");

	UpdateData(FALSE);

	m_cboNames.SetFocus();
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲自拍偷拍九九九| 五月婷婷综合在线| 欧美日韩aaaaa| 国产成人av电影| 三级久久三级久久久| 中文字幕一区二区三区乱码在线| 欧美精品在线一区二区三区| 成人一级视频在线观看| 日韩在线卡一卡二| 亚洲欧美福利一区二区| 久久久久久综合| 91精品国产乱| 欧美日韩国产电影| 日本久久一区二区三区| 国产精品夜夜嗨| 日韩电影在线观看网站| 亚洲精品久久嫩草网站秘色| 国产欧美日韩综合精品一区二区| 91精品国产综合久久福利软件 | 欧美日本韩国一区| av一二三不卡影片| 国产精品69久久久久水密桃| 亚洲www啪成人一区二区麻豆| 亚洲图片你懂的| 中文字幕制服丝袜一区二区三区| 日韩欧美高清在线| 日韩一区二区中文字幕| 欧美体内she精视频| 91免费视频观看| a在线播放不卡| av一区二区三区在线| 粉嫩aⅴ一区二区三区四区五区 | 粉嫩嫩av羞羞动漫久久久 | 风流少妇一区二区| 国产成人综合精品三级| 国产中文一区二区三区| 麻豆精品一区二区| 久久99精品久久久久久久久久久久| 亚洲国产成人tv| 亚洲成a人v欧美综合天堂| 亚洲一区二区三区不卡国产欧美| 亚洲欧美日韩综合aⅴ视频| 中文字幕一区在线| 中文字幕一区二区三区精华液| 中文字幕一区av| 中文字幕在线不卡一区 | 蜜桃久久久久久| 日本午夜一区二区| 久久精品久久综合| 精品一区二区三区免费视频| 九色综合狠狠综合久久| 久久99久久99精品免视看婷婷| 老色鬼精品视频在线观看播放| 美女视频网站黄色亚洲| 韩国成人在线视频| 成人精品视频一区二区三区| 成人免费高清在线| 91影视在线播放| 欧美视频完全免费看| 91精品国产综合久久精品| 欧美精品一区二区三区在线播放| 国产欧美在线观看一区| 亚洲欧洲99久久| 亚洲bt欧美bt精品| 国内偷窥港台综合视频在线播放| 国产成人精品在线看| 99久久精品免费看国产 | 精品99久久久久久| 亚洲国产精品精华液ab| 亚洲人亚洲人成电影网站色| 亚洲午夜三级在线| 美女一区二区在线观看| 国产成人av电影在线观看| 91在线精品一区二区| 91精品欧美久久久久久动漫| 久久久亚洲午夜电影| 综合久久久久久| 人人爽香蕉精品| av亚洲精华国产精华精华 | 欧美日韩另类一区| 欧美精品一区视频| 综合色中文字幕| 看片的网站亚洲| 99国产精品视频免费观看| 欧美人与禽zozo性伦| 久久久噜噜噜久久人人看| 亚洲综合图片区| 国产精品一品二品| 538prom精品视频线放| 国产亚洲成aⅴ人片在线观看| 一区二区高清视频在线观看| 久久精品国产久精国产| 色婷婷久久久亚洲一区二区三区| 日韩欧美色电影| 亚洲精品国产视频| 国内成+人亚洲+欧美+综合在线| 91在线免费看| 久久久久久久久久久久久久久99 | 欧美一区二视频| 国产精品美女www爽爽爽| 亚洲成人自拍网| 北条麻妃国产九九精品视频| 欧美一级欧美一级在线播放| 亚洲人午夜精品天堂一二香蕉| 激情偷乱视频一区二区三区| 欧美在线不卡一区| 中文av一区特黄| 国内精品国产成人国产三级粉色| 欧美日韩中文精品| 日韩美女啊v在线免费观看| 国产在线观看免费一区| 欧美久久久久久久久| 亚洲激情在线激情| 国产99一区视频免费| 精品国产免费久久| 日韩激情在线观看| 欧美日韩一区二区在线观看视频| 国产精品免费视频观看| 国产一区二区不卡在线| 欧美成人精品高清在线播放| 五月婷婷综合网| 欧美午夜精品电影| 亚洲一区中文日韩| 91蜜桃婷婷狠狠久久综合9色| 久久久精品蜜桃| 亚洲h动漫在线| 欧美天堂一区二区三区| 一区二区三区中文字幕在线观看| av不卡一区二区三区| 国产精品乱人伦中文| 福利一区在线观看| 国产精品免费看片| av高清久久久| 亚洲美女一区二区三区| 99精品偷自拍| 综合激情成人伊人| 色综合天天综合网天天看片| 中文字幕色av一区二区三区| 9色porny自拍视频一区二区| 国产精品久久毛片a| 成人午夜伦理影院| 国产精品久久久久aaaa樱花| www.亚洲色图| 亚洲欧美综合色| 欧美亚洲免费在线一区| 亚洲国产aⅴ天堂久久| 欧美视频三区在线播放| 日韩和的一区二区| 日韩欧美黄色影院| 国内成人免费视频| 国产精品美女视频| 欧美曰成人黄网| 日本亚洲最大的色成网站www| 日韩视频在线观看一区二区| 精品综合免费视频观看| 久久精品在线观看| 色综合久久天天综合网| 日韩高清不卡在线| 亚洲精品一区二区三区99| 成人免费视频播放| 亚洲一区二区欧美激情| 日韩天堂在线观看| 成人看片黄a免费看在线| 夜夜爽夜夜爽精品视频| 欧美一区二区三区日韩视频| 国产一区二区在线电影| 国产精品乱人伦一区二区| 色噜噜久久综合| 美女脱光内衣内裤视频久久网站 | 亚洲6080在线| 精品国产制服丝袜高跟| 成人午夜大片免费观看| 亚洲一区二三区| 精品国产91亚洲一区二区三区婷婷 | 狠狠色丁香婷婷综合久久片| 日本一区二区三区视频视频| 在线视频综合导航| 麻豆精品精品国产自在97香蕉| 国产偷国产偷亚洲高清人白洁 | a在线欧美一区| 日韩福利视频网| 亚洲国产精品二十页| 欧美丝袜丝nylons| 国产v日产∨综合v精品视频| 亚洲国产另类精品专区| 久久精品视频免费| 欧美精品三级在线观看| 国产成人亚洲综合a∨婷婷| 亚洲国产视频直播| 亚洲国产成人在线| 日韩一级二级三级| 一本色道久久综合亚洲91| 久久国内精品视频| 亚洲综合一区在线| 国产精品你懂的在线欣赏| 91精品国产乱码| 色视频一区二区| 丰满亚洲少妇av| 精品一区二区三区免费毛片爱| 亚洲一级片在线观看|