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

MFC中關閉窗口的幾種辦法:函數

退出程序用AfxGetMainWnd()->SendMessage(WM_CLOSE);工具

關閉當前窗口用DestroyWindow( );code

關閉模式對話框用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;it

附其它經常使用屬性變量

系統默認圖標,可在消息框上顯示
X錯誤 MB_ICONHAND, MB_ICONSTOP, and MB_ICONERROR
?詢問 MB_ICONQUESTION
!警告 MB_ICONEXCLAMATION and MB_ICONWARNING
i信息 MB_ICONASTERISK and MB_ICONINFORMATIONdate

按鈕的形式
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);

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

相關文章
相關標籤/搜索