win32程序一个简单的计算器

vcxproj 文件是vc++的主项目文件
filters 是筛选器文件
项目名.h 是应用程序的主头文件
项目名.cpp是主应用程序的源文件
atlimage.h 是CImage类的头文件,用于文件的打开,显示,保存,最好包含在stdafx.h文件里面
Overridables 重写虚函数
2017-5-18:第一个windows程序:简单的计算器

#include "resource.h"
#include <Windows.h>

//资源总管

INT_PTR CALLBACK theProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
        switch (uMsg)
        {
        case WM_COMMAND:
               if (LOWORD(wParam) == IDOK)
               {
                       int left = GetDlgItemInt(hwndDlg, IDC_EDIT1, NULL, TRUE);
                       int right = GetDlgItemInt(hwndDlg, IDC_EDIT2, NULL, TRUE);
                       SetDlgItemInt(hwndDlg, IDC_EDIT3, left + right, TRUE);
                       MessageBox(hwndDlg, "你点击了ok", "瓜皮须知", 0);
               }
               if (LOWORD(wParam) == IDC_EXIT)
               {
                       EndDialog(hwndDlg, IDC_close);
               }
               if (LOWORD(wParam) == IDC_close)
               {
                       EndDialog(hwndDlg, IDC_close);
               }
               if (LOWORD(wParam) == IDCANCEL)
               {
                       MessageBox(hwndDlg, "你个瓜皮","linshi", 0);
                       EndDialog(hwndDlg, IDCANCEL);
               }
               break;

        }
        //消息回调函数Umsg是消息的种类,消息是事件回调的返回值,各种消息种类都在此汇总
        return 0;
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrev, LPSTR lpCmd, int nCmdShow)
{
        //messageBox FindWindow
        DialogBox(hInstance, (LPCTSTR)kele, NULL, theProc);
               return 0;
}

#resource.h里面包含的是所有资源的id,也控制许多常量的id,再是喊不支持输入

四则运算计算器,支持除数为0报错
#include "resource.h"
#include <Windows.h>
#include <stdio.h>

//资源总管
double GetDlgItemDouble(HWND hwnd, UINT nID)
{
        char s[256];
        GetDlgItemText(hwnd, nID, s, sizeof(s));
        return atof(s);
}
//atof atoi
//itoa   ftoa???
//sprintf 数字》》字符串   格式化函数
void SetDlgItemDouble(HWND hwnd, UINT nID, double db)
{
        char s[256];
        SetDlgItemText(hwnd, nID, s);
}
INT_PTR CALLBACK theProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
        switch (uMsg)
        {
        case WM_COMMAND:
               if (LOWORD(wParam) == IDOK)
               {
                       int left = GetDlgItemInt(hwndDlg, IDC_EDIT1, NULL, TRUE);
                       int right = GetDlgItemInt(hwndDlg, IDC_EDIT2, NULL, TRUE);
                       SetDlgItemInt(hwndDlg, IDC_EDIT3, left + right, TRUE);

                 left = GetDlgItemInt(hwndDlg, IDC_EDIT4, NULL, TRUE);
                 right = GetDlgItemInt(hwndDlg, IDC_EDIT5, NULL, TRUE);
               SetDlgItemInt(hwndDlg, IDC_EDIT6, left - right, TRUE);
                       MessageBox(hwndDlg, "你点击了ok", "瓜皮须知", 0);
                       left = GetDlgItemInt(hwndDlg, IDC_EDIT7, NULL, TRUE);
                       right = GetDlgItemInt(hwndDlg, IDC_EDIT8, NULL, TRUE);
                       SetDlgItemInt(hwndDlg, IDC_EDIT9, left * right, TRUE);
                       left = GetDlgItemInt(hwndDlg, IDC_EDIT10, NULL, TRUE);
                       right = GetDlgItemInt(hwndDlg, IDC_EDIT11, NULL, TRUE);
                       if (right == 0)
                       {
                              MessageBox(hwndDlg, "兄弟讲道理啊", "你是瓜皮", 0);
                              break;
                       }
                       SetDlgItemInt(hwndDlg, IDC_EDIT12, left/right, TRUE);
               }
               if (LOWORD(wParam) == IDC_EXIT)
               {
                       EndDialog(hwndDlg, IDC_close);
               }
               if (LOWORD(wParam) == IDC_close)
               {
                       MessageBox(hwndDlg, "gua", "hello", 0);
                       EndDialog(hwndDlg, IDC_close);
               }
               if (LOWORD(wParam) == IDCANCEL)
               {
                       MessageBox(hwndDlg, "你个瓜皮","linshi", 0);
                       EndDialog(hwndDlg, IDCANCEL);
               }
               if (LOWORD(wParam) == ID_EXIT)
               {
                       EndDialog(hwndDlg, ID_EXIT);
               }
               break;

        }
        //消息回调函数Umsg是消息的种类,消息是事件回调的返回值,各种消息种类都在此汇总
        return 0;
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrev, LPSTR lpCmd, int nCmdShow)
{
        //messageBox FindWindow
        DialogBox(hInstance, (LPCTSTR)kele, NULL, theProc);
               return 0;
}





//double版计算器
#include "resource.h"
#include <Windows.h>
#include <stdio.h>

//资源总管
double GetDlgItemDouble(HWND hwnd, UINT nID)
{
        char s[256];
        GetDlgItemText(hwnd, nID, s, sizeof(s));
        return atof(s);
}
//atof atoi
//itoa   ftoa???
//sprintf 数字》》字符串   格式化函数
void SetDlgItemDouble(HWND hwnd, UINT nID, double db)
{
        char s[256];
        sprintf(s, "%lf", db);
        SetDlgItemText(hwnd, nID, s);
}
INT_PTR CALLBACK theProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
        switch (uMsg)
        {
        case WM_COMMAND:
               if (LOWORD(wParam) == IDOK)
               {
                       double left = GetDlgItemDouble(hwndDlg, IDC_EDIT1);
                       double right = GetDlgItemDouble(hwndDlg, IDC_EDIT2);
                       SetDlgItemDouble(hwndDlg, IDC_EDIT3, left + right);

                       left = GetDlgItemDouble(hwndDlg, IDC_EDIT4);
                        right = GetDlgItemDouble(hwndDlg, IDC_EDIT5);
                       SetDlgItemDouble(hwndDlg, IDC_EDIT6, left - right);

                        left = GetDlgItemDouble(hwndDlg, IDC_EDIT7);
                        right = GetDlgItemDouble(hwndDlg, IDC_EDIT8);
                       SetDlgItemDouble(hwndDlg, IDC_EDIT9, left * right);

                        left = GetDlgItemDouble(hwndDlg, IDC_EDIT10);
                       right = GetDlgItemDouble(hwndDlg, IDC_EDIT11);
                       if (right == 0)
                       {
                              MessageBox(hwndDlg, "不要这样,先生", "给瓜皮的一份信", 0);
                                      break;
                       }
                       SetDlgItemDouble(hwndDlg, IDC_EDIT12, left / right);
               }
               if (LOWORD(wParam) == IDC_EXIT)
               {
                       EndDialog(hwndDlg, IDC_close);
               }
               if (LOWORD(wParam) == IDC_close)
               {
                       MessageBox(hwndDlg, "gua", "hello", 0);
                       EndDialog(hwndDlg, IDC_close);
               }
               if (LOWORD(wParam) == IDCANCEL)
               {
                       MessageBox(hwndDlg, "你个瓜皮","linshi", 0);
                       EndDialog(hwndDlg, IDCANCEL);
               }
               if (LOWORD(wParam) == ID_EXIT)
               {
                       EndDialog(hwndDlg, ID_EXIT);
               }
               break;

        }
        //消息回调函数Umsg是消息的种类,消息是事件回调的返回值,各种消息种类都在此汇总
        return 0;
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrev, LPSTR lpCmd, int nCmdShow)
{
        //messageBox FindWindow
        DialogBox(hInstance, (LPCTSTR)kele, NULL, theProc);
               return 0;
}

转载于:https://www.cnblogs.com/kele1997/p/7595850.html

课程设计报告 题目:在win32 application工程下计算 陈李元 41212204 余 斌 41212202 概述 课程设计的内容 系统需求分析 系统目标 重要功能 开发环境 设计过程 主函数WinMain设计过程 窗口过程WndProc 小结 参考文献 1:程序代码 2:程序运行部分截图 概述 课程设计的内容 c++课程设计我们组选的是设计一个带界面的计算 MFC,而是在win32 application工程下做的带界 windows程序设计范畴。 系统需求分析 系统目标 另外还具有计算N阶阶乘的功能,此外还具 。 重要功能 开发环境 visual c++ 6.0编译,链接,运行。它是在 工程下所创建。 设计过程 主函数WinMain设计过程 windows API。这 windows.h标准库中。 windows程序设计中,它必须要包含一个程序入口主 WinMain和一个过程函数WndProc。 总是以下面的形式出现。 WINAPI WinMain (HINSTANCE hInstance, WinMain第一个参数一般叫做“实例句柄”,在windows 第二个参数总是定义为NULL(定义为0) 第三个参数是用来运行程序的命令行。有些windows程 第四个参数用来指明程序最初如何显示。 1)注册窗口类 2)创建窗口 3)在桌面显示窗口 4)更新窗口客户区 5)进入无限的消息获取和处理的循环。首先是获取 WM_QUIT,则GetMessage函数返回FALSE,整 WndProc 注册: 程序设计中有许许多多的结构体。其中 是用于注册窗口类的。 窗口类型 窗口处理函数 窗口扩展 窗口实例扩展 实例句柄 窗口的最小化图标 窗口鼠标光标 窗口背景色 窗口菜单 窗口类名 : 创建窗口 CreateWindow函数 指向已注册窗口类名称的指针
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值