C语言如何编辑资源文件,用C语言做个简单的计算机,上面是代码,请教上资源文件在哪里编写,要新建什么文件...

当前位置:我的异常网» C语言 » 用C语言做个简单的计算机,上面是代码,请教上资源

用C语言做个简单的计算机,上面是代码,请教上资源文件在哪里编写,要新建什么文件

www.myexceptions.net  网友分享于:2013-07-30  浏览:53次

用C语言做个简单的计算机,下面是代码,请问下资源文件在哪里编写,要新建什么文件

还是先做界面,先写资源文件。

/***********MyCalculator.rc**************/

#include

#defineICO_MAIN0X1000

#defineDLG_MAIN1

#define IDB_00X4400//0

#define IDB_10X4401//1

#define IDB_20X4402//2

#define IDB_30X4403//3

#define IDB_40X4404//4

#define IDB_50X4405//5

#define IDB_60X4406//6

#define IDB_70X4407//7

#define IDB_80X4408//8

#define IDB_90X4409//9

#define IDB_PLUS0X4410//+

#define IDB_SUB0X4411//-

#define IDB_EQU0X4412//=

#define IDB_DOT0X4413//.

#define IDB_PAS0X4414//正负号

#defineIDB_EDIT0x4415//编辑框

ICO_MAINICON"xhk.ico"

DLG_MAINDIALOG300,150,102,140STYLEDS_SETFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU

CAPTION"我的计算器"

FONT9,"宋体"

{

//定义编辑框控件

EDITTEXT IDB_EDIT,7,10,86,17,ES_RIGHT

PUSHBUTTON "7",IDB_7,5,30,23,17

PUSHBUTTON "8", IDB_8, 38,30,23,17

PUSHBUTTON "9",IDB_9,71,30,23,17

PUSHBUTTON "4",IDB_4,5,52,23,17

PUSHBUTTON "5",IDB_5,38,52,23,17

PUSHBUTTON "6",IDB_6,71,52,23,17

PUSHBUTTON "1",IDB_1,5,74,23,17

PUSHBUTTON "2",IDB_2,38,74,23,17

PUSHBUTTON "3",IDB_3,71,74,23,17

PUSHBUTTON "0",IDB_0,5,92,23,17

PUSHBUTTON "+/-",IDB_PAS,38,92,23,17

PUSHBUTTON ".",IDB_DOT,71,92,23,17

PUSHBUTTON "+",IDB_PLUS,5,114,23,17

PUSHBUTTON "-",IDB_SUB,38,114,23,17

PUSHBUTTON "=",IDB_EQU,71,114,23,17

}

下面还是主程序代码:

/***********MyCalculator.c**************/

#include

#include

#define ICO_MAIN0X1000

#defineDLG_MAIN1

#define IDB_00X4400//0

#define IDB_10X4401//1

#define IDB_20X4402//2

#define IDB_30X4403//3

#define IDB_40X4404//4

#define IDB_50X4405//5

#define IDB_60X4406//6

#define IDB_70X4407//7

#define IDB_80X4408//8

#define IDB_90X4409//9

#define IDB_PLUS0X4410//+

#define IDB_SUB0X4411//-

#define IDB_EQU0X4412//=

#define IDB_DOT0X4413//.

#define IDB_PAS0X4414//正负号

#defineIDB_EDIT0x4415//编辑框

int num1=0;//定义了第一个数字

int num2=0;//定义了第二个数字

char s[10];//为了方面参数的传递,定义了这个全局变量,完全没有这个必要

UINT uFlags=1;//标识是否按下了加号或者等号,切换给num1和num2赋值

char oPration='+';//操作符标志,判断按下的是什么操作符,默认为加

//把字符串转化成数字

int StrToNum(char * str)

{

returnatoi(str);

}

//把数字转化成字符串

char * NumToStr(int nNum)

{

itoa(nNum,s,10);

return s;

}

//修改编辑框控件的文字

int SetEditValue(int nNum,HWND hEdit)

{

if(uFlags==1)

{

num1 = num1*10+nNum;//可以使数字进位(向左移)

SetWindowText(hEdit,NumToStr(num1));

}

else

{

num2 = num2*10+nNum;//可以使数字进位(向左移)

SetWindowText(hEdit,NumToStr(num2));

}

return 0;

}

LRESULT WINAPI DialogProc(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam)

{

HICON hIcon;

HWND hEdit = GetDlgItem(hWnd,IDB_EDIT);

switch(Msg)

{

case WM_INITDIALOG:

//设置图标

hIcon = LoadIcon(GetModuleHandle("MyCalculator.exe"),MAKEINTRESOURCE(ICO_MAIN));

SendMessage(hWnd,WM_SETICON,ICON_BIG,(long)hIcon);

SetWindowText(hEdit,"0.");//让编辑框控件的内容为"0."

return TRUE;

case WM_COMMAND:

switch(LOWORD(wParam))//LOWORD(wParam)用来取出命令ID

{

//一下处理过程可以更简单的,大家自己想想,看怎样处理好

//自己完成计算器可以满足支持小数点和正负号

case IDB_0:

SetEditValue(0,hEdit);

break;

case IDB_1:

SetEditValue(1,hEdit);

break;

case IDB_2:

SetEditValue(2,hEdit);

break;

case IDB_3:

SetEditValue(3,hEdit);

文章评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值