1. 程式人生 > >mfc學習 day1 listcontrol和 edit使用。及對listcontrol增刪改

mfc學習 day1 listcontrol和 edit使用。及對listcontrol增刪改

listcontrol 和 edit使用,如何將從edit控制元件中獲取資料和如何將資料列印到控制元件中。

CDialogEx::OnInitDialog();

	// 將“關於...”選單項新增到系統選單中。


	CListCtrl*pList =(CListCtrl*)GetDlgItem(IDC_LIST1);
	pList->InsertColumn(0,"工號",0,120);
	pList->InsertColumn(1,"姓名",0,160);
	pList->InsertColumn(2,"工資",0,160);
	// IDM_ABOUTBOX 必須在系統命令範圍內。
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);


void CMFC1Dlg::OnBnClickedButadd()
{
	// TODO: 在此新增控制元件通知處理程式程式碼
	CString str;
	GetDlgItemText(IDC_NUM,str);
	CListCtrl *pList = (CListCtrl*)GetDlgItem(IDC_LIST1);
	//pList->InsertItem(0,str);
	int nCount = pList->GetItemCount();   //獲取列表總數
	pList->InsertItem(nCount,str);

	GetDlgItemText(IDC_NAME,str);
	pList->SetItemText(nCount,1,str);

	GetDlgItemText(IDC_SALA,str);
	pList->SetItemText(nCount,2,str);
}


void CMFC1Dlg::OnBnClickedButdel()
{
	// TODO: 在此新增控制元件通知處理程式程式碼
	CListCtrl *pList=(CListCtrl*)GetDlgItem(IDC_LIST1);
	//int nSel = pList->GetSelectionMark();//選中的行數
	POSITION pos=pList->GetFirstSelectedItemPosition();
	int nSel=pList->GetNextSelectedItem(pos);
	if(nSel<0)
	{
		AfxMessageBox("請先選中一行");
		return ;
	}

	if(IDYES==AfxMessageBox("確認選中刪除的資料",MB_YESNO))
	pList->DeleteItem(nSel);
}


void CMFC1Dlg::OnBnClickedButmod()
{
	// TODO: 在此新增控制元件通知處理程式程式碼
	CListCtrl *pList=(CListCtrl*)GetDlgItem(IDC_LIST1);
	int nSel = pList->GetSelectionMark();
	if(nSel<0)
	{
		AfxMessageBox("請先選中一行");
		return;
	}
	CString str;
	GetDlgItemText(IDC_NAME,str);
	pList->SetItemText(nSel,1,str);
	GetDlgItemText(IDC_SALA,str);
    pList->SetItemText(nSel,2,str);
}


void CMFC1Dlg::OnBnClickedButtest()
{
	// TODO: 在此新增控制元件通知處理程式程式碼
	CString str;
	GetDlgItemText(IDC_LEN,str);
	int nLen=str.GetLength();
	str.Format("長度=%d",nLen);
	SetDlgItemText(IDC_RESULT,str);

}


void CMFC1Dlg::OnBnClickedButton3()
{
	// TODO: 在此新增控制元件通知處理程式程式碼
	CString  str;  
		GetDlgItemText(IDC_LEN,str);
		BOOL b= str.IsEmpty();
		if(b)
			SetDlgItemText(IDC_RESULT,"是空字串");
		else
			SetDlgItemText(IDC_RESULT,"是空字串");
}