當前位置:編程學習大全網 - 編程語言 - 如何用vc++編寫壹個簡單的(只有加減乘除)計算器程序?

如何用vc++編寫壹個簡單的(只有加減乘除)計算器程序?

先設置界面如下

加法按鈕代碼

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);

  • 上一篇:鉗工口訣
  • 下一篇:如何分析用戶滿意度?這4種常用滿意度分析模型,壹定要學會
  • copyright 2024編程學習大全網