?? chap10.html
字號:
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">5.	</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>添加三個函數(shù)用以響應用戶單擊單選按鈕。</P>
</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=1><P>void CArrayAddDlg::OnAdd0() </P>
<P>{</P>
<P>	// TODO: Add your control notification handler code here</P>
<P>	GetDlgItem(IDC_INDEX)->EnableWindow(true);</P>
<P>}</P>
<P>void CArrayAddDlg::OnAdd1() </P>
<P>{</P>
<P>	// TODO: Add your control notification handler code here</P>
<P>	GetDlgItem(IDC_INDEX)->EnableWindow(true);</P>
<P>}</P>
<P>void CArrayAddDlg::OnAdd2() </P>
<P>{</P>
<P>	// TODO: Add your control notification handler code here</P>
<P>	GetDlgItem(IDC_INDEX)->EnableWindow(false);</P>
<P>}</P>
<P>為了確定用戶選擇了哪一個單選按鈕,重載CDialog::OnOK()。</P>
<P>void CArrayAddDlg::OnOK() </P>
<P>{</P>
<P>	// TODO: Add extra validation here</P>
<P>	UINT nRadio=GetCheckedRadioButton(IDC_ADD0,IDC_ADD2);</P>
<P>	switch(nRadio)</P>
<P>	{</P>
<P>	case IDC_ADD0:</P>
<P>		m_radio=0;</P>
<P>		break;</P>
<P>	case IDC_ADD1:</P>
<P>		m_radio=1;</P>
<P>		break;</P>
<P>	case IDC_ADD2:</P>
<P>		m_radio=2;</P>
<P>		break;</P>
<P>	default:</P>
<P>		break;</P>
<P>	}</P>
<P>	CDialog::OnOK();</P>
<P>}</P><DIR>
</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">按照下面的步驟創(chuàng)建另一個對話框類CRemoveDlg。</P></DIR>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">1.	</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>創(chuàng)建如圖</FONT><FONT SIZE=3>10.2</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>所示的對話框,兩個單選按鈕的</FONT><FONT SIZE=3>ID</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>分別是</FONT><FONT SIZE=3>IDC_REMOVE0</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>和</FONT><FONT SIZE=3>IDC_REMOVE1</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>。</P>
<P ALIGN="CENTER"><IMG SRC="Image293.gif" tppabs="http://166.111.167.223/computer/cai/visual_c++_5.0_programming/Image293.gif" WIDTH=213 HEIGHT=130></P>
</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=1><P ALIGN="CENTER">圖</FONT><FONT SIZE=1>10. 2 </FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=1>刪除數(shù)組元素對話框</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">2.	</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>在</FONT><FONT SIZE=3>ClassWizard</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>中為文本框映射一個</FONT><FONT SIZE=3>UINT</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>類型的變量</FONT><FONT SIZE=3>m_index</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">3.	</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>給該對話框添加一個</FONT><FONT SIZE=3>UINT</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>類型的成員變量</FONT><FONT SIZE=3>m_radio</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">4.	</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>為</FONT><FONT SIZE=3>WM_INITDIALOG</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>添加函數(shù)</FONT><FONT SIZE=3>OnInitDialog()</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>,在其中設置單選按鈕的初始狀態(tài)。</P>
</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=1><P>BOOL CArrayRemoveDlg::OnInitDialog() </P>
<P>{</P>
<P>	CDialog::OnInitDialog();</P>
<P>	</P>
<P>	// TODO: Add extra initialization here</P>
<P>	((CButton*)GetDlgItem(IDC_REMOVE1))->SetCheck(1);</P>
<P>	return TRUE; // return TRUE unless you set the focus to a control</P>
<P>	 // EXCEPTION: OCX Property Pages should return FALSE</P>
<P>}</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">5</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>.添加兩個函數(shù)用以響應用戶單擊單選按鈕。</P>
</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=1><P>void CArrayRemoveDlg::OnRemove0() </P>
<P>{</P>
<P>	// TODO: Add your control notification handler code here</P>
<P>	GetDlgItem(IDC_INDEX)->EnableWindow(false);</P>
<P>}</P>
<P>void CArrayRemoveDlg::OnRemove1() </P>
<P>{</P>
<P>	// TODO: Add your control notification handler code here</P>
<P>	GetDlgItem(IDC_INDEX)->EnableWindow(true);</P>
<P>}</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">6.	</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>為了確定用戶選擇了哪一個單選按鈕,重載</FONT><FONT SIZE=3>CDialog::OnOK()</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>。</P>
</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=1><P>void CArrayRemoveDlg::OnOK() </P>
<P>{</P>
<P>	// TODO: Add extra validation here</P>
<P>	UINT nRadio=GetCheckedRadioButton(IDC_REMOVE0,IDC_REMOVE1);</P>
<P>	switch(nRadio)</P>
<P>	{</P>
<P>	case IDC_REMOVE0:</P>
<P>		m_radio=0;</P>
<P>		break;</P>
<P>	case IDC_REMOVE1:</P>
<P>		m_radio=1;</P>
<P>		break;</P>
<P>	default:</P>
<P>		break;</P>
<P>	}</P>
<P>	CDialog::OnOK();</P>
<P>}</P>
</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">現(xiàn)在編譯并運行這個程序,首先在窗口中顯示一個有十個元素的數(shù)組,如圖</FONT><FONT SIZE=3>10.3</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>所示。單擊左鍵彈出如圖</FONT><FONT SIZE=3>10.1</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>所示的對話框,你可以選擇三種數(shù)組操作:設置、插入和添加。單擊右鍵彈出如圖</FONT><FONT SIZE=3>10.2</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>所示的對話框,你可以選擇兩種刪除操作:刪除全部元素和刪除指定元素。</P>
<P ALIGN="CENTER"><IMG SRC="Image294.gif" tppabs="http://166.111.167.223/computer/cai/visual_c++_5.0_programming/Image294.gif" WIDTH=302 HEIGHT=204></P>
</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=1><P ALIGN="CENTER">圖</FONT><FONT SIZE=1>10. 3 </FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=1>程序運行初始窗口</P>
</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY"> </P>
</FONT><FONT FACE="仿宋_GB2312" LANG="ZH-CN" SIZE=4><P ALIGN="CENTER"><A NAME="_Toc425698724">第二節(jié)</FONT><FONT SIZE=4> </FONT><FONT FACE="仿宋_GB2312" LANG="ZH-CN" SIZE=4>列表類</A></P>
</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">列表類象是有特殊功能的數(shù)組。列表的元素被稱為節(jié)點。列表使用指針來連結它的節(jié)點。如果你希望快速的插入和刪除數(shù)組元素,列表類是一個比較好的選擇。但是在列表中查找一個元素要比在數(shù)組中慢,因為列表需要按照指針順序從一個節(jié)點到另外一個節(jié)點。</P>
<P ALIGN="JUSTIFY">通常我們稱列表中第一個節(jié)點為列表的頭,列表中最后一個節(jié)點是列表的尾。</P>
<P ALIGN="JUSTIFY">列表類有以下成員函數(shù):</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">Clist</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>()</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">Clist</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>類的構造函數(shù),其中的參數(shù)指定分配內(nèi)存的基本單元。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">GetHead( )</P>
</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">獲得列表的第一個元素的值。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">GetTail( )</P>
</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">獲得列表的最后一個元素的值。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">RemoveHead( )</P>
</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">刪除列表中第一個元素</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">RemoveTail( )</P>
</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">刪除列表中最后一個元素。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">AddHead</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>()</P>
<P ALIGN="JUSTIFY">在列表的頭部添加一個節(jié)點,使這個節(jié)點成為列表的新的頭。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">AddTail</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>()</P>
<P ALIGN="JUSTIFY">在列表的尾部添加一個節(jié)點,使這個節(jié)點成為列表的新的尾。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">RemoveAll()</P>
</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">刪除節(jié)點中所有的元素。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">GetHeadPosition( )</P>
<P ALIGN="JUSTIFY">	</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>獲得列表的頭節(jié)點的位置。</P>
<P ALIGN="JUSTIFY">	</FONT><FONT SIZE=3>GetTailPosition( )</P>
<P ALIGN="JUSTIFY">	</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>獲得列表中尾節(jié)點的位置。</P>
<P ALIGN="JUSTIFY">	</FONT><FONT SIZE=3>GetNext()</P>
</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">獲得指定位置下一個節(jié)點處的值。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">GetPrev()</P>
</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">獲得指定位置上一個節(jié)點處的值。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">GetAt()</P>
</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">獲得指定位置處節(jié)點的值。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">SetAt()</P>
</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">設置指定位置處節(jié)點的值。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">RemoveAt()</P>
</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">刪除指定位置處的節(jié)點。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">InsertBefore()</P>
</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">在指定位置的前面插入一個節(jié)點。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">InsertAfter()</P>
</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">在指定位置的后面插入一個節(jié)點。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">Find()</P>
</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">按照列表順序搜索給定的對象指針,返回一個</FONT><FONT SIZE=3>POSITION</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>類型的量。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">FindIndex()</P>
</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">按照列表順序搜索指定的下標。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">GetCount()</P>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -