MFC編寫的仿Windows計算機

來源:互聯網
上載者:User

首先你應該瞭解物件導向的基於訊息驅動的Windows訊息編程,當然,對於編寫這個計算 器,你不必知道太多的windows編程,你重要會編寫基於對話方塊的簡單應用程式就可以了。

首先,讓我們來仔細瞭解一下mircosoft的計算機吧,我們發現它是一個基於對話方塊 的含有兩的主對話方塊、一個關於對話方塊、一個菜單的應用程式。也就是說,我們應該建立一 個基於對話方塊的應用程式,並且為其添加一個菜單和一個主對話方塊(因為,應用程式已經創 建好了一個主對話方塊和關於對話方塊)

接下來,我們應該設計對話方塊的介面了,這個是 很簡單的事情,你只要將其和mircosoft的計算機比較就行了。當然,你也可以添加其他控制項 。

第一個主對話方塊也就是預設的主程式介面,是用於執行簡單計算(+、-、*、/、開 根、倒數、平方等)

第二個就是執行科學計算的程式了。使用者可以用vc中的控制項排版 工具和TAB設計出一個漂亮的介面(通常,程式的介面在很大程度上會影響程式的普及度和用 戶的情緒的)。好了,上面的工作完成後,我們進入正題吧。

我們首先要為所有控制項 指定一個ID號(一定要見ID知其意),比如0控制項我們用ID_0表示。其他控制項依次類推。設計 好ID後我們就應該為其添加變數,這裡我們為所有的除了編輯控制項外的控制項指定CString型變 量,編輯控制項為CEdit。然後我添加一些必要的成員變數(我們以簡單計數器為例介紹)

public:
char m_sign; //記錄運算子+、-、*、/等
int m; //控制 編輯框中的字元
int n; //用於判斷連續進行了幾次運算
CString strItem; // 用於記錄當前編輯框中的資料
CString m_string; //用於記錄前n-1次的運算結果

現在,我們編寫建構函式:

m_hIcon = AfxGetApp()->LoadIcon (IDR_MAINFRAME);
m=n=0;
m_string="";
strItem="";

我們然後為數字鍵編寫程式:

(以0為例) if(!m) {m_Edit.SetWindowText("");m++;} //用於得到連續的輸入
m_Edit.GetWindowText(strItem); //將當前字元儲存在strItem中
CString str="0";輸入數字
strItem+=str;//連續輸入字元
m_Edit.SetWindowText(strItem); //顯示連續的輸入

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.