MFC生成隨機數
最近在學習MFC,於是就試着編個實現生成隨機數的GUI程序玩玩。
前幾天,一直在摸索MFC如何編程?看了孫鑫《VC++深入淺出》書後,對基本運行流程有了大致的瞭解。因此完成這個,也就自己玩似的進行了。
步驟
- 新建MFC應用程序工程,在其中選擇對話框,其他的按照默認值一路確定過去就行了。
- 打開資源視圖,將原來的控件全部刪除,參考下圖擺好基本框架。
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()來解決這個問題。