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);

編輯框就只能輸入一個字符了.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM