MFC中關閉窗口的幾種辦法+MFC中MessageBox的用法

MFC中關閉窗口的幾種辦法+MFC中MessageBox的用法

MFC中關閉窗口的幾種辦法:
退出程序用AfxGetMainWnd()->SendMessage(WM_CLOSE);
關閉當前窗口用DestroyWindow( );
關閉模式對話框用EndDialog(0);
MFC中MessageBox的用法
消息框是個很常用的控件,屬性比較多,本文列出了它的一些常用方法,及指出了它的一些應用場合。
1.
MessageBox("這是一個最簡單的消息框!");
2.
MessageBox("這是一個有標題的消息框!","標題");
3.
MessageBox("這是一個確定 取消的消息框!","標題", MB_OKCANCEL );
4.
MessageBox("這是一個警告的消息框!","標題", MB_ICONEXCLAMATION );
5.
MessageBox("這是一個兩種屬性的消息框!","標題", MB_ICONEXCLAMATION|MB_OKCANCEL );
6.
if(MessageBox("一種常用的應用","標題",MB_ICONEXCLAMATION|MB_OKCANCEL)==IDCANCEL)
return;
附其它常用屬性
系統默認圖標,可在消息框上顯示
X錯誤 MB_ICONHAND, MB_ICONSTOP, and MB_ICONERROR
?詢問 MB_ICONQUESTION
!警告 MB_ICONEXCLAMATION and MB_ICONWARNING
i信息 MB_ICONASTERISK and MB_ICONINFORMATION
按鈕的形式
MB_OK 默認
MB_OKCANCEL 確定取消
MB_YESNO 是否
MB_YESNOCANCEL 是否取消
返回值
IDCANCEL 取消被選
IDNO 否被選
IDOK 確定被選
IDYES 是被選
MFC 文本框 用法
//獲得EDIT
CEdit* pBoxOne;
pBoxOne = (CEdit*) GetDlgItem(IDC_EDIT1);
//付值
pBoxOne->SetWindowText( _T"FOO" );
//取值
CString str;
pBoxOne->GetWindowText(str);
GetDlgItem(IDC_EDIT1)->SetWindowText( _T"FOO" );
也可以
//取值
CString str;
GetDlgItem(IDC_EDIT1)->GetWindowText(str);
EditControl是在MFC對話框中最頻繁的使用的控件之一
VC++2005提供EditControl的屬性和控件事件操作簡單方便
1只允許輸入數字
如果設置EditControl中只能輸入數字,在VC6.0中需要編寫一個派生類來達到目的,而在VC++2005下只需要在屬性對話框中將Number的屬性值設
爲True就可以了.
2獲取EditControl的內容
兩種方法
第一種,利用MFC應用程序嚮導生成一個基於對話框的應用程序,從資源視圖中選擇該Dialog窗體,利用右側的工具箱,向Dialog內添加一個
EditControl項,聲明控件變量的類別爲Value,變量類型爲CString,變量名爲m_sEdit_Content.
CString m_sEdit_Content;
CString s;
UpdateData(true);
s=m_sEdit_Content.GetString();
MessageBox(s,_T("獲取編輯框的內容"),MB_OK);
s.ReleaseBuffer();
這樣就取得了編輯框的內容
UpdateData(true);這句代碼很重要,它的作用是將輸入的數據裝入EditControl對應的變量m_sEdit_Content中.
由於MFC應用程序嚮導默認是使用Unicode庫,所以MessageBox中的字符串需要用_T(),否則會出現const char[]轉換LPCTSTR錯誤,如果不使用
Unicode庫就不需要_T().
第二種方法
聲明控件變量的類別爲Control,變量類型爲CEdit,變量名爲m_Edit_Content.
代碼如下(Unicode)
CString s;
s.GetBufferSetLength(1024);
m_Edit_Content.GetWindowTextW(s.GetBuffer(),s.GetLength());
MessageBox(s,_T("獲取文本框的內容"),MB_OK);
s.ReleaseBuffer();
如果不是Unicode下獲取編輯框內容的函數就是GetWindowTextA
3將EditControl中的內容轉化爲整數
在限制編輯框只能數字之後,要將字符串轉化爲整數
聲明控件變量的類別爲Value,變量類型爲CString,變量名爲m_sEdit_Content.
CString s;
UpdateData(true);
s=m_sEdit_Content.GetString();
int n=_tstoi(s);
s.ReleaseBuffer();
n就是所需要的整數
在VC2005下字符串轉換成整數需要_tstoi這個函數
4限制編輯框的輸入長度
聲明控件變量的類別爲Control,變量類型爲CEdit,變量名爲m_Edit_Content.
在對話框初始化的地方寫m_Edit_Content.SetLimitText(1);
編輯框就只能輸入一個字符了
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章