二、右击源文件,添加一个cpp文件,名字随便取
三、编写代码,添加程序入口函数
#include <Windows.h> INT WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR lpCmdLine, INT nCmdShow) //相当于main函数 { return 0; }
四、右击项目,查看属性,修改链接器,因为我们编写的是窗口程序,所以将子系统修改为窗口
五、代码编写信息框函数
1、第一个参数写NULL
2、第二个参数是信息框内容
3、第三个参数是信息框标题
4、第四个参数是弹窗的类型
MessageBox(NULL, L"aiyou", L"bucuo", MB_OK);
六、运行该程序,成功弹出信息框
七、右击资源文件,添加资源,选择Icon,点击导入,选择设计好的ico文件
八、运行程序,自动生成图标
九、当我们导入多个图标资源的时候,打开resource.h文件
默认选择的是,后面数字比较小的
十、右击资源文件,添加资源,选择Dialog,点击新建
十一、设计界面,拖动要用的组件,修改相关属性值
十二、回到cpp文件编写关联代码
#include <Windows.h> #include"resource.h" INT WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR lpCmdLine, INT nCmdShow) //相当于main函数 { int n = DialogBox(hInstance, (LPCWCHAR)IDD_DIALOG1, NULL, NULL); //1、指本对话框属于当前进程,HINSTANCE是窗口进程句柄 //2、本对话框使用哪个对话框资源,比如您定义了多个对话框资源,每个都有一个ID,本参数相当于传入一个ID //3、本对话框的父窗口是哪个,NULL表示没有父窗口 //4、本对话框的消息处理函数,一个对话框相当于一个窗口,而窗口有对应的消息处理函数 return 0; }
十三、编写一个回调函数,也就是我们自己设计一个功能,然后通过API实现
INT_PTR CALLBACK theProc(_In_ HWND hwndDlg, _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam) { switch (uMsg) { case WM_COMMAND://点击按钮 OnCommand(hwndDlg, LOWORD(wParam)); break; case WM_INITDIALOG://窗口启动时运行 break; case WM_LBUTTONDOWN://左击 MessageBox(NULL, _T("左击"), _T("左击"), MB_OK); break; case WM_RBUTTONDOWN://右击 MessageBox(NULL, _T("右击"), _T("右击"), MB_OK); break; } return 0; }
十四、编写按钮事件,不同的按钮实现不同的功能
void OnCommand(HWND hWnd, UINT nID) { if (nID == IDC_BUTTON2) { EndDialog(hWnd, 2); } if (nID == IDC_BUTTON1) { int nLeft = GetDlgItemInt(hWnd, IDC_EDIT1, NULL, TRUE); int nRight = GetDlgItemInt(hWnd, IDC_EDIT2, NULL, TRUE); SetDlgItemInt(hWnd, IDC_EDIT3, nLeft + nRight, TRUE); } }
十五、运行效果