歌曲好想你歌词:如何用vc++编写一个简单的(只有加减乘除)计算器程序?

来源:百度文库 编辑:神马品牌网 时间:2024/05/06 02:35:05
我是个新新新新新新新手,希望各位帮帮我!不胜感激!

先设置界面如下

加法按钮代码
void CMy03Dlg::OnBnClickedButton1()
{
// TODO:在此添加控件通知处理程序代码
UpdateData(TRUE);
m_Nub3=m_Nub1+m_Nub2;
UpdateData(FALSE);
}

减法按钮代码
void CMy03Dlg::OnBnClickedButton2()
{
// TODO:在此添加控件通知处理程序代码
UpdateData(TRUE);
m_Nub3=m_Nub1-m_Nub2;
UpdateData(FALSE);
}

乘法按钮代码

void CMy03Dlg::OnBnClickedButton3()
{
// TODO:在此添加控件通知处理程序代码
UpdateData(TRUE);
m_Nub3=m_Nub1*m_Nub2;
UpdateData(FALSE);
}

除法按钮代码

void CMy03Dlg::OnBnClickedButton4()
{
// TODO:在此添加控件通知处理程序代码
UpdateData(TRUE);
if(m_Nub2!=0)
m_Nub3=m_Nub1 / m_Nub2;
else
AfxMessageBox("被除数不能为0");
UpdateData(FALSE);
}

清除按钮代码

void CMy03Dlg::OnBnClickedButton5()
{
// TODO:在此添加控件通知处理程序代码
UpdateData(TRUE);
m_Nub3=0;
m_Nub1=0;
m_Nub2=0;
UpdateData(FALSE);
}

结束按钮代码
void CMy03Dlg::OnBnClickedButton6()
{
// TODO:在此添加控件通知处理程序代码
CDialog::OnOK();
}

如果只允许在输入框中输入数据应该怎样处理?

制作托盘程序
目的:在任务栏中建立一个图标,使该程序永远驻留在内存中。例如邮件检查程序可以作为驻留程序,一旦有邮件来了,就可以接收邮件。
Shell_NotifyIcon函数发送消息来增加、删除、修改任务栏的图标
BOOL TrayMessage(HWND hWnd, DWORD dwMessage, HICON hIcon, PSTR pszTip)
{
BOOL res;

NOTIFYICONDATA tnd;

tnd.cbSize = sizeof(NOTIFYICONDATA);
tnd.hWnd = hWnd;
tnd.uID = IDI_ICON1;

tnd.uFlags = NIF_MESSAGE|NIF_ICON|NIF_TIP;
tnd.uCallbackMessage = WM_MY_TRAY_NOTIFICATION;
tnd.hIcon = hIcon;
lstrcpyn(tnd.szTip, pszTip, sizeof(tnd.szTip));
res = Shell_NotifyIcon(dwMessage, &tnd);// dwMessage为NIM_ADD从任务栏中添加图标、NIM_DELETE从任务栏中删除图标、NIM_MODIFY改变任务栏中图标

if (hIcon)
DestroyIcon(hIcon);

return res;
}

定义一个回调消息:WM_MY_TRAY_NOTIFICATION
在DLG的CPP文件中,
#define WM_MY_TRAY_NOTIFICATION WM_USER+100

为对话框添加消息映射ON_MESSAGE(WM_MY_TRAY_NOTIFICATION,OnTrayNotification)
在DLG的头文件中应该有
public:
long m_Nub1;
float m_Nub3;
CBitmapButton Button;
afx_msg void OnBnClickedButton1();
long m_Nub2;
afx_msg void OnBnClickedButton2();
afx_msg void OnBnClickedButton4();
afx_msg void OnBnClickedButton5();
afx_msg void OnBnClickedButton3();
afx_msg void OnBnClickedButton6();
afx_msg void OnBnClickedButton7();
afx_msg LRESULT OnTrayNotification(WPARAM wparam, LPARAM lparam);

在DLG的CPP文件中应该有
BEGIN_MESSAGE_MAP(CMailCheckDlg, CDialog)
……
ON_MESSAGE(WM_MY_TRAY_NOTIFICATION,OnTrayNotification)
……
END_MESSAGE_MAP()
并定义一个回调消息函数

LRESULT CMailCheckDlg::OnTrayNotification(WPARAM wparam, LPARAM lparam)
{
switch (lparam )
{
case WM_RBUTTONUP:
case WM_LBUTTONDBLCLK://修改不同的按钮处理事件,以观察图标退出效果。
ShowWindow(SW_SHOW);
TrayMessage(m_hWnd, NIM_DELETE, NULL, "");//从任务栏中删除图标
}
return 0;
}

在对话框窗口上添加“驻留”按钮,双击按钮添加代码

void CMailCheckDlg::OnBnClickedButton1()
{
// TODO:在此添加控件通知处理程序代码
下面程序向任务栏添加图标
TrayMessage(m_hWnd, NIM_ADD, NULL, "计算器程序");
TrayMessage(m_hWnd, NIM_MODIFY, m_hIcon, "计算器程序");
ShowWindow(SW_HIDE);

这个我好像会一点了