Chinaunix首页 | 论坛 | 博客
  • 博客访问: 588923
  • 博文数量: 752
  • 博客积分: 40000
  • 博客等级: 大将
  • 技术积分: 5005
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-13 14:47
文章分类

全部博文(752)

文章存档

2011年(1)

2008年(751)

我的朋友

分类:

2008-10-13 16:44:29

rollor_phoe:怎么没有代码下载的啊?
(发表于2006-11-17 12:46:00)

axa1986:其实0~9的数字可一起处理,无必要这么麻烦
添加消息,当按0~9此消息都会发送
ON_CONTROL_RANGE(BN_CLICKED,IDC_0,IDC_9,NumClick)
//0~9的数字ID为IDC_0~IDC_9
添加函数
bool NumClick(UINT nID);
bool CCalculatorDlg::NumClick(UINT nID)
{
。。。。。。。。。。
    CString str;
    str.Format("%d",nID-IDC_0);
//若按3,则nID=IDC3,nID-IDC_0=3,str="3"
    strItem+=str;
。。。。。。。。。。。
}
//+—*?%也一样

(发表于2006-11-25 12:58:00)

difly:afx_msg void ClickNumBtn(UINT nID);

BEGIN_MESSAGE_MAP(CMy1Dlg, CDialog)
//}}AFX_MSG_MAP
ON_CONTROL_RANGE(BN_CLICKED, IDC_0, IDC_9, ClickNumBtn)
END_MESSAGE_MAP()

void CMy1Dlg::ClickNumBtn(UINT nID)
{
CString str;
str.Format("%d", nID - IDC_0);
//若按3,则nID=IDC3,nID-IDC_0=3,str="3"
strItem+=str;
}

(发表于2006-12-6 16:39:00)

fengzar1984://n用来判断是不是第一次按+号按扭
if(!n)
{
m_string=strItem;
if(m_string==""){m_string="";return;}          //怎么要用这一句啊!能够解释下不
}
else
{
double num1,num2;
num1=atof(m_string);
num2=atof(strItem);
switch(m_sign)
{
case ''+'':num1+=num2;break;
case ''-'':num1-=num2;break;
case ''*'':num1*=num2;break;
case ''/'':if(!num2) AfxMessageBox("the divisor is 0!"); else num1/=num2;break;
case ''%'':if(!num2) AfxMessageBox("the divisor is 0!"); else num1=(int)num2%(int)num1;break;
default:break;
}
m_string.Format("%.6f",num1);
}//以上是进行判别与运算,这里用了CString对象转换成数据的函数
m_sign=''+'';
strItem="";
n++;
if(m>0)m--;//是执行完加法后,编辑框输入新数据
m_Edit.SetWindowText(m_string);//显示上一次按运算件的结果


if(m_string==""){m_string="";return;}          //怎么要用这一句啊!能够解释下不



(发表于2006-12-17 16:45:00)

fengzar1984:跟上.
直接点,if(m_string == "")return;
也可以吧!
(发表于2006-12-17 16:48:00)

..........................................................................
--------------------next---------------------

阅读(199) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~