c语言如何创建一个按钮?做计算器用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言如何创建一个按钮?做计算器用相关的知识,希望对你有一定的参考价值。
这是一个简单计算器程序:1)创建一个对话框的应用
2)向对话框中添加一个编辑框控件和十六个按钮
3)在头文件声明:
double m_Num; //记录编辑框中的数据
BOOL m_Time; //判断是否为第一次按下数字键
char m_Operator; //保存运算符
4)处理数字“1”按钮的单击事件将按钮代表的数字写入编辑框中,代码:
void CCalculatorDlg::OnButton1()
// TODO: Add your control notification handler code here
UpdateData(TRUE);
if(m_Time == TRUE)
m_Result = 0;
m_Result = m_Result * 10 + 1;
m_Time = FALSE;
UpdateData(FALSE);
5)按照步骤4设置其他的数字按钮的单击事件
6)添加Count函数,用于计算数据,代码如下:
void CCalculatorDlg::Count()
UpdateData(TRUE);
switch(m_Operator)
case '+':
m_Num += m_Result;
break;
case '-':
m_Num -= m_Result;
break;
case '*':
m_Num *= m_Result;
break;
case '/':
if(m_Result == 0)
MessageBox("除数不能为0");
return;
m_Num /= m_Result;
break;
default:
m_Num = m_Result;
break;
m_Result = m_Num;
m_Time = TRUE;
UpdateData(FALSE);
7)处理“+”,为m_Operator变量赋值。代码:
void CCalculatorDlg::OnButton13()
// TODO: Add your control notification handler code here
if(m_Time == FALSE)
Count();
m_Operator = '+';
8)按照步骤7设置其他符号按钮的单击事件
9)处理“C”按钮的单击事件,用于清空编辑框中的数据,代码
void CCalculatorDlg::OnButton11()
// TODO: Add your control notification handler code here
UpdateData(TRUE);
m_Result = 0;
m_Num = 0;
m_Time = TRUE;
m_Operator = ' ';
UpdateData(FALSE);
以上运行结果正常,不过结果贴不上来啊,就靠自己了啊 参考技术A 用mfc 参考技术B 这个比较困难,还是用VC++做吧。
C语言如何跟C#一样弄个窗体出来,并加入按钮之类的控件
C语言写界面的话只能直接调用API函数.直接调用API函数非常的繁琐. 需要了解一些Windows窗口和消息循环原理.
举个例子吧, 下面就是一个API函数, 需要包含windows.h头文件, 这个函数用来创建1个窗口;
HWND WINAPI CreateWindowEx(
DWORD dwExStyle, // 窗口扩展风格
LPCTSTR IpClassName,// 窗口类名
LPCTSTR lpWindowName, // 窗口标题
DWORD dwStyle, // 窗口样式
int x,int y, // 窗口的坐标x y
int nWidth, int nHeight, // 窗口的高度和宽度
HWND hWndParent, // 父级窗口句柄
HMENU hMenu, // 菜单句柄
HANDLE hInstance,// 程序的实例句柄
LPVOID lpParam // 额外参数
);
不要嫌参数多(虽然确实很多), 这都是一个窗口必不可少的属性, 事实上调用这个API之前你还必须填充一个10个成员的巨大结构, 用来确定窗口的背景, 风格, 图标等属性.
为什么C#创建窗口这么简单, C#同样是调用这个API来创建窗口的, 只不过它把那些细节的东西全都封装了起来, 程序员看不到了而已, 但是你如果要用C来写界面就必须要面对这些.
虽然API繁琐, 但是和C#相比, 无疑更加能够让你真正理解操作系统的原理和实现细节 参考技术A C#可以直接拖,C的话就要自己接手写了,我觉得还是用C#方便追问
但我想用C语言写出来,有没有什么办法啊
参考技术B 去用C++吧,有图形界面,比如QT追问C语言不可以吗??
追答据我所知,没有
c语言语法基本上跟c++一样
而且,c就不是拿来做界面的
??
以上是关于c语言如何创建一个按钮?做计算器用的主要内容,如果未能解决你的问题,请参考以下文章