MFC编程实验(三):组件(列表框元素的增删)

本文详细介绍了如何使用MFC创建一个对话框应用,实现初始4元素列表的添加与删除功能,包括编辑框输入、列表框显示及控件事件处理。

一、实验要求

创建一个对话框应用程序,实现如下布局,完成如下功能:

(1)初始状态,列表中有4个元素;

(2)可以在编辑框中输入新朋友的名字。点击“添加”按钮添加到列表框,同时清空编辑框中的名字;

(3)选中列表框中的一个名字。点击“删除”按钮可以删除。

 

二、实验过程

(一)绘制y=x2的函数曲线

       1、利用MFC新建一个基本对话框应用程序,工程名为MyDig。

 

 

2、按照要求布局,添加所需控件到对话框中:静态文本、列表框、按钮和编辑框。结果如下。

 

3、初始化列表框,使其显示出设定的元素。

(1)建立类向导,添加成员变量m_List,其类别为Control,类型为CListBox;

 

 

(2)在OnInitDialog()方法中添加初始化代码,如下图;

 

 

(3)列表框初始化成功。结果如下。

 

 

4、设置编辑框,建立类向导并添加成员变量m_Edit, 其类别为Control,类型为CString.

 

 

 

4、设置Button1“添加”和Button2“删除”。分别在按钮上双击创建点击事件,完成添加和删除功能。代码如下。

 

 

 

5、验证运行结果。添加功能正常,删除功能正常。

 

 

 

添加元素到列表框

 

 

删除列表框元素

编写一个如示例WinMain的Windows应用程序,其中窗口的背景色、光标、图标等属性可以设置成自己喜欢的风格。作为该示例的扩展,要求编程实现当在该窗口中单击右键时,播放一曲自己喜欢的音乐。(4学时) 编写一个如示例ExDlgCtl的MFC对话框应用程序,其中必须实现的功能包括: “对话框”菜单下的模态对话框、非模态对话框和文件对话框; “控件”菜单下的计算器、动态创建按钮、上网问卷调查、调整对话框背景色等四个对话框。 示例中的其它功能可以根据实际情况决定是否编写。(4学时) 3)编写一个如示例ExMenu的MFC菜单、工具栏和状态栏的应用程序,编写该实验时注意功能的完整性,包括两个菜单的切换、右键弹出式菜单、工具栏的切换、状态栏信息格的添加等功能。(4学时) 4)编写一个如示例ExDraw的MFC绘图应用程序,实现画点、线、矩形、椭圆等图形,并可以根据用户选择的画笔和画刷进行绘制,最后要求实现画笔的功能。(4学时) LRESULT CALLBACK WinProc( HWND hwnd, // handle to window UINT uMsg, // message identifier WPARAM wParam, // first message parameter LPARAM lParam // second message parameter ); int WINAPI WinMain( HINSTANCE hInstance, // handle to current instance HINSTANCE hPrevInstance, // handle to previous instance LPSTR lpCmdLine, // pointer to command line int nCmdShow // show state of window ) { WNDCLASS wndclas; wndclas.cbClsExtra=0; wndclas.cbWndExtra=0; wndclas.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH); wndclas.hCursor=LoadCursor(NULL,IDC_ARROW); wndclas.hIcon=LoadIcon(NULL,IDI_EXCLAMATION); wndclas.hInstance=hInstance; wndclas.lpfnWndProc=WinProc; wndclas.lpszClassName="ABCD"; wndclas.lpszMenuName=NULL; wndclas.style=CS_HREDRAW | CS_VREDRAW; RegisterClass(&wndclas;); void CTestView::OnDialogModal() //模态对话框 { // TODO: Add your command handler code here CTestDlg1 dlg; dlg.DoModal(); } void CTestView::OnDialogModalless()//非模态对话框 { // TODO: Add your command handler code here CTestDlg2 *pd=new CTestDlg2(); pd->Create(IDD_DIALOG2,this); pd->ShowWindow(SW_SHOW); } void CTestView::OnDialogFile() //文件对话框 {
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值