/*
广大童鞋请注意,该代码本人用VC6.0编译,VS编译器可能通过不了,其
中牵扯到字符集的问题(宽字节和多字节的转换问题),因为有些函数无法
使用多字节参数,换编译器可能运行不了!!!
*/
/*本程序基于C调用API实现,由API函数包装,核心代码仍然是C*/
#include "stdafx.h"
#include<windows.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
#include"resource.h"
HWND hWndhWnd,
hEditResult,
hButtonOptSum0,hButtonOptSum1,hButtonOptSum2,hButtonOptSum3,
hButtonOptSum4,hButtonOptSum5,hButtonOptSum6,hButtonOptSum7,
hButtonOptSum8,hButtonOptSum9,hButtonOptSumDec,
hButtonOptAdd,hButtonOptSub,hButtonOptMul,hButtonOptDiv,
hButtonOptSqrt,
hButtonOptPercent,hButtonOptEqu,
hButtonCancelEntry;
HINSTANCE hInst;
char lpszAddItem[20]="";
char lpszResult[20]="";
char lpszResult1[20]="";
char lpszResult2[20]="";
char lpszOpt[]="N";
char *stop;
double nAddItem=0,nResult=0;
double nResult1=0,nResult2=0;
int nMax;
int nOptF=0;
bool bDec=false;
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
void EquResult();
void NumResult(char *NumData);
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
HWND hWnd;
MSG Message;
WNDCLASS WndClass;
char lpszClassName[]="编辑框";
char lpszTitle[]="艾哥牌计算器";
WndClass.cbClsExtra=0;
WndClass.cbWndExtra=0;
WndClass.hbrBackground=(HBRUSH)(GetStockObject(LTGRAY_BRUSH));
WndClass.hCursor=LoadCursor(NULL,IDC_ARROW);
WndClass.hIcon=LoadIcon(NULL,"WinIcon");
WndClass.hInstance=hInstance;
WndClass.lpfnWndProc=WndProc;
WndClass.lpszClassName=lpszClassName;
WndClass.lpszMenuName="Menu";
WndClass.style=0;
if(!RegisterClass(&WndClass))
{
MessageBeep(0);
return FALSE;
}
hInst=hInstance;
hWnd=CreateWindow(
lpszClassName,
lpszTitle,
WS_OVERLAPPED | WS_SYSMENU | WS_MINIMIZEBOX,
CW_USEDEFAULT,
CW_USEDEFAULT,
210,230,
NULL,
NULL,
hInstance,
NULL
);
ShowWindow(hWnd,nCmdShow);
UpdateWindow(hWnd);
while(GetMessage(&Message,NULL,0,0))
{
TranslateMessage(&Message);
DispatchMessage(&Message);
}
return Message.wParam;
}
LRESULT CALLBACK WndProc(HWND hwnd,
UINT message,
WPARAM wParam,
LPARAM lParam)
{
switch(message)
{
case WM_CREATE:
hEditResult=CreateWindow("EDIT",
NULL,
WS_CHILD | WS_VISIBLE | ES_RIGHT | WS_BORDER | ES_READONLY,
10,10,
185,24,
hwnd,
(HMENU)IDE_RESULT,
hInst,
NULL);
hButtonOptSum7=CreateWindow("BUTTON",
"7",
WS_CHILD | WS_VISIBLE,
10,40,
30,30,
hwnd,
(HMENU) IDB_NUM7,
hInst,
NULL);
hButtonOptSum8=CreateWindow("BUTTON",
"8",
WS_CHILD | WS_VISIBLE,
45,40,
30,30,
hwnd,
(HMENU) IDB_NUM8,
hInst,
NULL);
hButtonOptSum9=CreateWindow("BUTTON",
"9",
WS_CHILD | WS_VISIBLE,
80,40,
30,30,
hwnd,
(HMENU) IDB_NUM9,
hInst,
NULL);
hButtonOptSum4=CreateWindow("BUTTON",
"4",
WS_CHILD | WS_VISIBLE,
10,75,
30,30,
hwnd,
(HMENU) IDB_NUM4,
hInst,
NULL);
hButtonOptSum5=CreateWindow("BUTTON",
"5",
WS_CHILD | WS_VISIBLE,
45,75,
30,30,
hwnd,
(HMENU) IDB_NUM5,
hInst,
NULL);
hButtonOptSum6=CreateWindow("BUTTON",
"6",
WS_CHILD | WS_VISIBLE,
80,75,
30,30,
hwnd,
(HMENU) IDB_NUM6,
hInst,
NULL);
hButtonOptSum1=CreateWindow("BUTTON",
"1",
WS_CHILD | WS_VISIBLE,
10,110,
30,30,
hwnd,
(HMENU) IDB_NUM1,
hInst,
NULL);
hButtonOptSum2=CreateWindow("BUTTON",
"2",
WS_CHILD | WS_VISIBLE,
45,110,
30,30,
hwnd,
(HMENU) IDB_NUM2,
hInst,
NULL);
hButtonOptSum3=CreateWindow("BUTTON",
"3",
WS_CHILD | WS_VISIBLE,
80,110,
30,30,
hwnd,
(HMENU) IDB_NUM3,
hInst,
NULL);
hButtonOptSum0=CreateWindow("BUTTON",
"0",
WS_CHILD | WS_VISIBLE,
10,145,
65,30,
hwnd,
(HMENU) IDB_NUM0,
hInst,
NULL);
hButtonOptSumDec=CreateWindow("BUTTON",
".",
WS_CHILD | WS_VISIBLE,
80,145,
30,30,
hwnd,
(HMENU) IDB_NUMDEC,
hInst,
NULL);
hButtonOptSqrt=CreateWindow("BUTTON",
"Sqr",
WS_CHILD | WS_VISIBLE,
130,40,
30,30,
hwnd,
(HMENU) IDB_OPTSQRT,
hInst,
NULL);
hButtonCancelEntry=CreateWindow("BUTTON",
"C",
WS_CHILD | WS_VISIBLE,
165,40,
30,30,
hwnd,
(HMENU) IDB_CANCLEENTRY,
hInst,
NULL);
hButtonOptAdd=CreateWindow("BUTTON",
"+",
WS_CHILD | WS_VISIBLE,
130,75,
30,30,
hwnd,
(HMENU)IDB_OPTADD,
hInst,
NULL);
hButtonOptSub=CreateWindow("BUTTON",
"-",
WS_CHILD | WS_VISIBLE,
165,75,
30,30,
hwnd,
(HMENU)IDB_OPTSUB,
hInst,
NULL);
hButtonOptMul=CreateWindow("BUTTON",
"*",
WS_CHILD | WS_VISIBLE,
130,110,
30,30,
hwnd,
(HMENU)IDB_OPTMUL,
hInst,
NULL);
hButtonOptDiv=CreateWindow("BUTTON",
"/",
WS_CHILD | WS_VISIBLE,
165,110,
30,30,
hwnd,
(HMENU)IDB_OPTDIV,
hInst,
NULL);
hButtonOptEqu=CreateWindow("BUTTON",
"=",
WS_CHILD | WS_VISIBLE,
130,145,
30,30,
hwnd,
(HMENU)IDB_OPTEQU,
hInst,
NULL);
hButtonOptPercent=CreateWindow("BUTTON",
"%",
WS_CHILD | WS_VISIBLE,
165,145,
30,30,
hwnd,
(HMENU)IDB_OPTPERCENT,
hInst,
NULL);
SetWindowText(hEditResult,"0");
break;
case WM_SETFOCUS:
SetFocus(hEditResult);
break;
case WM_COMMAND:
switch(LOWORD(wParam))
{
case IDB_NUM0:
if (nOptF==0)
break;
NumResult("0");
break;
case IDB_NUM1:
NumResult("1");
break;
case IDB_NUM2:
NumResult("2");
break;
case IDB_NUM3:
NumResult("3");
break;
case IDB_NUM4:
NumResult("4");
break;
case IDB_NUM5:
NumResult("5");
break;
case IDB_NUM6:
NumResult("6");
break;
case IDB_NUM7:
NumResult("7");
break;
case IDB_NUM8:
NumResult("8");
break;
case IDB_NUM9:
NumResult("9");
break;
case IDB_NUMDEC:
if (bDec==true)
break;
NumResult(".");
nOptF=1;
bDec=true;
break;
case IDB_OPT
没有合适的资源?快使用搜索试试~ 我知道了~
基于C.API的简易计算器源代码.zip
共5个文件
h:2个
cpp:2个
rc:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 115 浏览量
2022-06-27
14:28:32
上传
评论
收藏 5KB ZIP 举报
温馨提示
基于C.API的简易计算器源代码.zip
资源推荐
资源详情
资源评论
收起资源包目录
基于C.API的简易计算器源代码.zip (5个子文件)
基于C.API的简易计算器源代码
resource.h 825B
stdafx.h 773B
计算器.cpp 11KB
stdaxf.cpp 21B
menu.rc 2KB
共 5 条
- 1
资源评论
Cheng-Dashi
- 粉丝: 108
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功