當前位置:編程學習大全網 - 源碼下載 - 大型mfc源代碼

大型mfc源代碼

在MFC AppWized(exe)項目下進行。自己做接口。

1.Add # include < math.h & gt

2.為CCalculatorDlg類添加成員數據和成員函數。

雙數1,數字2;

int NumberState,OperationState

void cal();

並在CCalculatorDlg類的構造函數中添加NumberState = 1;

3.添加消息按鈕afx _ msg void OnNumberKey(UINT nID);

afx _ msg void OnOperationKey(UINT nID);

4.在CalculatorDlg.cpp文件中的begin _ MESSAGE _ MAP(cmy 1 DLG,cdialog)和END_MESSAGE_MAP()之間添加代碼。

ON _ COMMAND _ RANGE(IDC _ number 1,IDC_NUMBER10,OnNumberKey)

ON _ COMMAND _ RANGE(IDC _ number 11,IDC_NUMBER20,OnOperationKey)

5.為OnNumberKey和OnOperationKey的成員函數添加代碼。

void ccalculator DLG::OnNumberKey(UINT nID)

{

int n = 0;

開關(nID)

{

案例IDC _ number 1:n = 1;打破;

案例IDC _ number 2:n = 2;打破;

案例IDC _ number 3:n = 3;打破;

案例IDC _ number 4:n = 4;打破;

案例IDC _ number 5:n = 5;打破;

案例IDC _ number 6:n = 6;打破;

案例IDC _ number 7:n = 7;打破;

案例IDC _ number 8:n = 8;打破;

案例IDC _ number 9:n = 9;打破;

案例IDC _ number 10:n = 0;打破;

}

if(數字狀態==1)

{

m _ result = m _ result * 10+n;

number 1 = m _ result;

update data(FALSE);//更新編輯框中的值

}

其他

{

m _ result = m _ result * 10+n;

number2 = m _ result

update data(FALSE);

}

}

void ccalculator DLG::OnOperationKey(UINT nID)

{

開關(nID)

{

案例IDC _ number 13:///"按鈕

operation state = 1;

update data(FALSE);

m _ result = 0;

number state = 2;

打破;

案例IDC _ number 14://* "按鈕

operation state = 2;

update data(FALSE);

m _ result = 0;

number state = 2;

打破;

案例IDC_NUMBER15: // "+"按鈕

operation state = 3;

update data(FALSE);

m _ result = 0;

number state = 2;

打破;

案例IDC _ number 16://-"按鈕

operation state = 4;

update data(FALSE);

m _ result = 0;

number state = 2;

打破;

case IDC _ number 17://“C”按鈕,用於撤銷,如果不需要可以刪除。

number 1 = number 2 = m _ result = 0;

update data(FALSE);

NumberState = 1;

打破;

案例IDC_NUMBER20: //" "按鈕

cal();//調用cal成員函數

打破;

}

}

6.為成員函數cal()添加代碼

void CCalculatorDlg::cal()

{

開關(操作狀態)

{

案例1:

m _ result =(double)number 1/number 2;

update data(FALSE);//更新編輯框中的結果

number 1 = m _ result;//將本次運算的結果作為下壹次運算的第壹個操作數。

number state = 2;//下次輸入的數字作為第二個操作數。

打破;

案例二:

m _ result = number 1 * number 2;

update data(FALSE);//更新編輯框中的結果

number 1 = m _ result;

number state = 2;

打破;

案例三:

m _ result = number 1+number 2;

update data(FALSE);//更新編輯框中的結果

number 1 = m _ result;

number state = 2;

打破;

案例4:

m _ result = number 1-number 2;

update data(FALSE);//更新編輯框中的結果

number 1 = m _ result;

number state = 2;

打破;

}

operation state = 0;

}

註意按鈕的ID號要和程序裏的ID號壹致!!!!否則,單擊某些按鈕時將不會響應...

  • 上一篇:C#監控程序啟動和關閉
  • 下一篇:opera瀏覽器是不是IE內核的?
  • copyright 2024編程學習大全網