加法按鈕代碼
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);