MFC_隨機生成數

MFC生成隨機數

最近在學習MFC,於是就試着編個實現生成隨機數的GUI程序玩玩。

前幾天,一直在摸索MFC如何編程?看了孫鑫《VC++深入淺出》書後,對基本運行流程有了大致的瞭解。因此完成這個,也就自己玩似的進行了。

步驟

  1. 新建MFC應用程序工程,在其中選擇對話框,其他的按照默認值一路確定過去就行了。
  2. 打開資源視圖,將原來的控件全部刪除,參考下圖擺好基本框架。

界面

3. 雙擊生成隨機數按鈕,即可完成響應函數。接下來要做的便是完成響應函數代碼。

首先需要從IDC_Edit1中獲取輸入數值,從而進行判斷。

  • 函數GetWindowTextW獲取控件值,注意:該函數已重載,有兩種用法
  • 函數SetWindowTextW設置控件值
  • 函數itow(),T()是基本的類型轉換函數

具體代碼參考:


void CMFC_randDlg::OnBnClickedCfm()
{
    // TODO: 在此添加控件通知處理程序代碼
    CString str;
    wchar_t  _dest[10];
    int m_mod, num;
    GetDlgItem(IDC_EDIT1)->GetWindowTextW( str );
    if( str == _T("0") || str.IsEmpty())
    {
        m_mod = RAND_MAX;
    }
    else
    {
        m_mod = (_wtoi(str));
    }

num = rand() % m_mod;
_itow( num, _dest, 10 );
GetDlgItem(IDC_EDIT2)->SetWindowTextW( _dest );

}


運行結果

運行結果

總結

由於對VS函數、變量不太熟悉,因此自己在調試上花費了一些時間——主要問題是CString、whcar_t等格式。同時也發現一個問題:當輸入框爲空時出現錯誤,因此自己在判斷語句中加入str.IsEmpty()來解決這個問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章