MFC Combox SetItemData与GetItemData使用实例

例1:使用结构体

定义全局变量(本文件中)

struct PartType
{
int KeyIndex;  
CString KeyValue;
};
int arrAllValue[]={1,2,3};
CString arrAllKey[]={L"4",L"5",L"6"};


BOOL CComBoxTestDlg::OnInitDialog()
{
CDialog::OnInitDialog();
for (int i = 0; i<3; i++)
{
int iAddString = m_Combox.AddString(str[i]);
m_Combox.SetItemData(iAddString ,(DWORD)(&str[i]));
}


CComboBox* pay = (CComboBox*)(this->GetDlgItem(IDC_COMBO1));  
CString p = *((CString*)pay->GetItemData(1)); 


return TRUE;  // 除非将焦点设置到控件,否则返回 TRUE
}


在本文件中

void CComBoxTestDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
CComboBox* pay = (CComboBox*)(this->GetDlgItem(IDC_COMBO1));  
PartType *p = ((PartType*)pay->GetItemData(1));
int y1 = p->KeyIndex;
CString str = p->KeyValue;
int y2 = 0;
}


例2:一般使用方法

CString str[] = {L"a",L"b",L"c"};

BOOL CComBoxTestDlg::OnInitDialog()
{
CDialog::OnInitDialog();
for (int i = 0; i<3; i++)
{
int iAddString = m_Combox.AddString(str[i]);
m_Combox.SetItemData(iAddString ,(DWORD)(&str[i]));
}

return TRUE;  // 除非将焦点设置到控件,否则返回 TRUE
}


在本文件中

void CComBoxTestDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
CComboBox* pay = (CComboBox*)(this->GetDlgItem(IDC_COMBO1));  
CString p = *((CString*)pay->GetItemData(1)); 
}







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值