⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dlgpbselect.cpp

📁 通过手机数据线连接手机
💻 CPP
字号:
// DlgPBSelect.cpp : implementation file
//

#include "stdafx.h"
#include "MoblieX.h"
#include "DlgPBSelect.h"

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

/////////////////////////////////////////////////////////////////////////////
// CDlgPBSelect dialog


CDlgPBSelect::CDlgPBSelect(CWnd* pParent /*=NULL*/)
	: CDialog(CDlgPBSelect::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDlgPBSelect)
	m_name = _T("");
	m_phoneNo = _T("");
	//}}AFX_DATA_INIT
}


void CDlgPBSelect::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDlgPBSelect)
	DDX_Control(pDX, IDC_PHONE_NO, m_phoneNoCtrl);
	DDX_Control(pDX, IDC_NAME, m_nameCtrl);
	DDX_Control(pDX, IDC_ITEM_LIST, m_itemListCtrl);
	DDX_CBString(pDX, IDC_NAME, m_name);
	DDX_CBString(pDX, IDC_PHONE_NO, m_phoneNo);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDlgPBSelect, CDialog)
	//{{AFX_MSG_MAP(CDlgPBSelect)
	ON_BN_CLICKED(IDC_FILTER, OnFilter)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDlgPBSelect message handlers

BOOL CDlgPBSelect::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
int i, size = m_pb.GetPhoneBookSize();

	for( i = 0; i < size; i++ )
	{
		m_nameCtrl.AddString( m_pb.GetItemName(i) );
		m_phoneNoCtrl.AddString( m_pb.GetItemPhoneNo(i) );
	}

	//填充条目列表
	OnFilter();

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CDlgPBSelect::OnFilter() 
{
	DoFilter();
}

void CDlgPBSelect::DoFilter()
{
	if( !IsWindow( GetSafeHwnd() ) )
	{
		return;
	}

int i, size = m_pb.GetPhoneBookSize();
int itemCounter;

	UpdateData();

	m_itemListCtrl.ResetContent();

	for( i = 0, itemCounter = 0; i < size; i++ )
	{
		if( ( m_name.IsEmpty() || (m_pb.GetItemName(i)).Find(m_name) >= 0 )
		 && ( m_phoneNo.IsEmpty() || (m_pb.GetItemPhoneNo(i)).Find(m_phoneNo) >= 0 ) )
		{
			m_itemListCtrl.AddString( m_pb.GetItemShortDes(i) );
			m_itemListCtrl.SetItemData( itemCounter, i );
			itemCounter++;
		}
	}
}

void CDlgPBSelect::OnOK() 
{
	if( !MakeSelectPB() )
	{
		MessageBox( "没有选择任何条目" );
		return;
	}
	CDialog::OnOK();
}

BOOL CDlgPBSelect::MakeSelectPB()
{
int selCount = m_itemListCtrl.GetSelCount();
int * pSelID;
int i, pbID;
BOOL re;

	if( selCount == LB_ERR || selCount <= 0 )
	{
		return FALSE;
	}

	pSelID = new int[selCount];
	selCount = m_itemListCtrl.GetSelItems( selCount, pSelID );
	if( selCount == LB_ERR || selCount <= 0 )
	{
		re = FALSE;
	}
	else
	{
		m_pbSelect.RemoveAll();
		for( i = 0; i < selCount; i++ )
		{
			pbID = m_itemListCtrl.GetItemData( pSelID[i] );
			m_pbSelect.AddItem(
				m_pb.GetItemID(pbID),
				m_pb.GetItemName(pbID),
				m_pb.GetItemPhoneNo(pbID) );
		}
		re = TRUE;
	}
	
	delete [] pSelID;
	return re;
}

BOOL CDlgPBSelect::MakeSelectPhoneNoString(CString &str)
{
int i, size = m_pbSelect.GetPhoneBookSize();
CString sBuf;

	if( size <= 0 )
	{
		return FALSE;
	}

	str = m_pbSelect.GetItemPhoneNo(0);
	str.TrimLeft( m_phoneNoHead );
	for( i = 1; i < size; i++ )
	{
		sBuf = m_pbSelect.GetItemPhoneNo(i);
		sBuf.TrimLeft( m_phoneNoHead );
		str += ';';
		str += sBuf;
	}

	return TRUE;
}

BOOL CDlgPBSelect::MakeSelectNameString(CString &str)
{
int i, size = m_pbSelect.GetPhoneBookSize();

	if( size <= 0 )
	{
		return FALSE;
	}

	str = m_pbSelect.GetItemName(0);
	for( i = 1; i < size; i++ )
	{
		str += ';';
		str += m_pbSelect.GetItemName(i);
	}

	return TRUE;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -