utton, hwndEdit; char float double int switch (message) { case WM_CREATE: strEdit[80], strA[3][80], strHint[80]; a[3]; root[2]; i, j, k, m;
// 窗口创建产生的消息
hwndEdit = CreateWindow("edit", NULL, WS_CHILD|WS_VISIBLE|WS_ BORDER, 10, 60, 200, 25, hwnd, NULL, NULL, NULL ); hwndButton = CreateWindow("button", "计 算", WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON, 240, 60, 80, 25, hwnd, NULL, NULL, NULL ); return 0 ; case WM_COMMAND: // 命令消息,控件产生的通知代码在wParam的高字中
if (((HWND)lParam == hwndButton )&;&;( HIWORD(wParam) == BN_CLICKED )){ // 获取编辑框控件的内容,并将其转换成float数值 GetWindowText( hwndEdit, strEdit, 80); // 分隔字符串 k = 0;m = 0; for (j=0; j<80; j++){ if (strEdit[j] == ','){ k++; m = 0; } else { strA[k][m] = strEdit[j]; } } for (i=0; i<3; i++) a[i] = (float)atof(strA[i]); m++; // 获取编辑框内容
// 将字符串转换成float数值
int n = GetRoot(a[0], a[1], a[2], root); if (n<1) strcpy(str, "方程无根!") ; else sprintf(str,"方程的解为:%f, %f", root[0], root[1]); InvalidateRect(hwnd, NULL, TRUE);
4
Visual C++实训
} case WM_PAINT: hdc = BeginPaint(hwnd, &;ps); strcpy(strHint, "请输入一元二次方程的3个系数,中间用逗号分隔"); TextOut(hdc, 10, 40, strHint, strlen(strHint)); TextOut(hdc, 10, 90, str, strlen(str)); EndPaint(hwnd, &;ps); return 0 ; case WM_DESTROY: PostQuitMessage (0) ; return 0 ; } return DefWindowProc (hwnd, message, wParam, lParam) ; } // 执行默认的消息处理
// 当窗口关闭时产生的消息
3.运行并测试 . 编译并运行程序,在编辑框中填入一元二次方程的系数 6、3、-9 后,单击“计算” 按钮,求解的结果就会显示出来,如图 1.1 所示。
图 1.1 Ex_SDK 运行结果
4.写出实验报告 . 结合思考与练习题,写出实验
报告。
思考与练习
(1)分析上述给出的参考代码,比较和书中 Ex_WinControl 示例代码有何不同? (2)构造一个编辑框和一个按钮,当单击按钮,用消息对话框将编辑
框内容显示出来。
实验 2
常用控件(1)
5
实验 2
实验目的和要求
常用控件(1)
(1)创建一个默认的对话框应用程序 Ex_Ctrls,如图 2.1 所示。 (2)设计一个如图 2.2 所示的“课程信息”对话框。
图 2.1 Ex_Ctrls 对话框
图 2.2 “课程信息”对话框
(3)实现功能:单击图 2.1 中的“课程信息”按钮,弹出“学生基本信息”对话框, 单击“添加”按钮,对话框内容显示在图 2.1 中的列表框中。
实验准备和说明
(1)具备知识:静态控件、按钮、编辑框、旋转按钮控件、
列表框和组合框控件。 (2)创建本次实验
工作文件夹“…\Visual C++程序\实验\实验 2” 。
实验内容和步骤
1.启动 Visual C++ 6.0 . 打开
计算机,启动 Visual C++ 6.0 系统。 2.创建一个默认的对话框应用程序 Ex_Ctrls . ① 选择“文件”→“新建”菜单,在弹出的“新建”对话框中选择“工程”页面, 选择 MFC AppWizard(exe) ,在工程框中输入 Ex_Ctrls,并将工程文件夹定位到“…\Visual C++程序\实验\实验 2” 。 ② 单击“确定”按钮,在出现的 Step 1 对话框中选择“基本对话(框) ”应用程序类 型,单击“完成”按钮。 ③ 在对话框编辑器中,单击对话框工具栏上的切换网格按钮 ,显示对话框网格, 将对话框标题改为“使用控件” 。
6
Visual C++实训
④ 调整对话框的大小,删除对话框中间的“TODO: 在这里设置对话控制。 ”静态文 本控件和“确定”按钮控件,将“取消”按钮标题改为“退出” ,并移至对话框的下方。 ⑤ 向对话框中添加组框(Group)控件,标题设为“添加” ,然后调整其大小和位置。 ⑥ 添加一个按钮,标题设为“课程信息” ,ID 设为 IDC_BUTTON_COURSE。 ⑦ 添加一个列表框,取其