问题1:Combo Box 如何获取我选择新的内容?比如列表中有五项:ETH,IPv4,IPv6,TCP,UDP,默认为ETH,选择IPv6后我要及时获取IPv6被选中。现在我使用ON_CBN_SELCHANGE(列表框中选择的行发生改变),只能获取选择之前的信息
void CWinpCapDemoDlg::OnSelchangeComboType()
{
// TODO: Add your control notification handler code here
CString strType;
m_ctrlComboType.GetWindowText(strType);
AfxMessageBox(strType);
}
原来为ETH,选择IPv6,strType此时获取的是ETH,如何实现获取IPv6。
使用ON_CBN_EDITCHANGE,选择下拉可选择的内容,是没有响应的,只有输入新的内容,才可以及时获取新输入的内容!问题2:List Control 可以通过CListCtrl::InsertColumn和CListCtrl::DeleteColumn添加 和删除列名,我现在要实现把原来有的列名全部删除,重新插入新的列名,没有找到可以一次性删除所有列名的函数,也没有找到可以获取当前列名的个数的函数,如可以获取个数,可以通过个数来循环使用CListCtrl::DeleteColumn删除所有列名。
void CWinpCapDemoDlg::OnSelchangeComboType()
{
// TODO: Add your control notification handler code here
CString strType;
m_ctrlComboType.GetWindowText(strType);
AfxMessageBox(strType);
}
原来为ETH,选择IPv6,strType此时获取的是ETH,如何实现获取IPv6。
使用ON_CBN_EDITCHANGE,选择下拉可选择的内容,是没有响应的,只有输入新的内容,才可以及时获取新输入的内容!问题2:List Control 可以通过CListCtrl::InsertColumn和CListCtrl::DeleteColumn添加 和删除列名,我现在要实现把原来有的列名全部删除,重新插入新的列名,没有找到可以一次性删除所有列名的函数,也没有找到可以获取当前列名的个数的函数,如可以获取个数,可以通过个数来循环使用CListCtrl::DeleteColumn删除所有列名。
{
int nindex = m_ctrlComboType.GetCurSel();
// TODO: Add your control notification handler code here
CString strType;
m_ctrlComboType.GetLBText(nindex, strType);
AfxMessageBox(strType);
}
问题2for(int ncount=m_ctrlList.GetHeaderCtrl()->GetItemCount(); i>0; i--)
{
m_ctrlList.DeleteColumn(ncount-1);
}
for(int ncount=m_ctrlList.GetHeaderCtrl()->GetItemCount(); ncount>0; ncount--)
{
m_ctrlList.DeleteColumn(ncount-1);
}