第二章 第三节 基于对话框的Win32程序 计算器
右键-》添加-》资源-》Dialog-》新建 修改窗口ID IDD_FIRSTDLG
添加 5个控件 3个 Edit Box 和2个 Static Text
三个EditBoxd的ID IDC_LEFT 、 IDC_RIGHT 、 IDC_RESULT
#include<Windows.h>
#include "resource.h"
BOOL CALLBACK dlgFunc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)//回调函数
{
switch (message)
{
case WM_COMMAND://判断消息类型
switch (wParam)
{
case IDCANCEL://判断是否是关闭按钮
EndDialog(hwnd,IDCANCEL);//关闭对话框
/*从对话框模板资源创建模式对话框。DialogBox不会返回控件,直到指定的回调函数通过调用EndDialog函数终止模态对话框。*/
break;
case IDOK://判断是否是计算按钮
int nleft = GetDlgItemInt(hwnd, IDC_LEFT, NULL, TRUE);//得到左边的值
int nrigth = GetDlgItemInt(hwnd, IDC_RIGHT, NULL, TRUE);//得到右边的值
SetDlgItemInt(hwnd, IDC_RESULT, nleft + nrigth, TRUE); //给结果赋值
break;
}
break;
}
return FALSE;
}
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstace, LPSTR lPCmdLine,int nCmdShow)
{
//HWND hwnd = FindWindow(NULL,TEXT("foo.txt - 记事本"));
//HWND hwnd = FindWindow("nottepad",NULL);
//MessageBox(NULL,"这是我的第一个MFC程序?","温馨提示",MB_OKCANCEL);
/*从对话框模板资源创建模式对话框。DialogBox不会返回控件,直到指定的回调函数通过调用EndDialog函数终止模态对话框。*/
DialogBox(hInstance,(LPCTSTR)IDD_FIRSTDLG,NULL,dlgFunc);
return 0;
}