📄 chap10.html
字号:
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">5.	</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>添加三个函数用以响应用户单击单选按钮。</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">按照下面的步骤创建另一个对话框类CRemoveDlg。</P></DIR>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">1.	</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>创建如图</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>删除数组元素对话框</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>添加函数</FONT><FONT SIZE=3>OnInitDialog()</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>,在其中设置单选按钮的初始状态。</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>.添加两个函数用以响应用户单击单选按钮。</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">现在编译并运行这个程序,首先在窗口中显示一个有十个元素的数组,如图</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>所示的对话框,你可以选择三种数组操作:设置、插入和添加。单击右键弹出如图</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">第二节</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">列表类象是有特殊功能的数组。列表的元素被称为节点。列表使用指针来连结它的节点。如果你希望快速的插入和删除数组元素,列表类是一个比较好的选择。但是在列表中查找一个元素要比在数组中慢,因为列表需要按照指针顺序从一个节点到另外一个节点。</P>
<P ALIGN="JUSTIFY">通常我们称列表中第一个节点为列表的头,列表中最后一个节点是列表的尾。</P>
<P ALIGN="JUSTIFY">列表类有以下成员函数:</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>类的构造函数,其中的参数指定分配内存的基本单元。</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">在列表的头部添加一个节点,使这个节点成为列表的新的头。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">AddTail</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>()</P>
<P ALIGN="JUSTIFY">在列表的尾部添加一个节点,使这个节点成为列表的新的尾。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">RemoveAll()</P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">删除节点中所有的元素。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">GetHeadPosition( )</P>
<P ALIGN="JUSTIFY">	</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>获得列表的头节点的位置。</P>
<P ALIGN="JUSTIFY">	</FONT><FONT SIZE=3>GetTailPosition( )</P>
<P ALIGN="JUSTIFY">	</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>获得列表中尾节点的位置。</P>
<P ALIGN="JUSTIFY">	</FONT><FONT SIZE=3>GetNext()</P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">获得指定位置下一个节点处的值。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">GetPrev()</P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">获得指定位置上一个节点处的值。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">GetAt()</P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">获得指定位置处节点的值。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">SetAt()</P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">设置指定位置处节点的值。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">RemoveAt()</P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">删除指定位置处的节点。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">InsertBefore()</P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">在指定位置的前面插入一个节点。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">InsertAfter()</P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">在指定位置的后面插入一个节点。</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 + -