MFC中MessageBox的用法

2021-06-18 11:36:17 字數 2876 閱讀 3847

退出程式用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);

編輯框就只能輸入乙個字元了

MFC中MessageBox的用法

一 訊息框是個很常用的控制項,屬性比較多,本文列出了它的一些常用方法,及指出了它的一些應用場合。1.messagebox 這是乙個最簡單的訊息框!2.messagebox 這是乙個有標題的訊息框!標題 3.messagebox 這是乙個確定 取消的訊息框!標題 mb okcancel 4.messa...

MFC中MessageBox的用法

一 函式原型及引數 function messagebox hwnd hwnd text,caption pchar type word integer hwnd 對話方塊父視窗控制代碼,對話方塊顯示在delphi窗體內,可使用窗體的handle屬性,否則可用0,使其直接作為桌面視窗的子視窗。tex...

MFC中MessageBox 的用法

函式原型 int messagebox hwnd hwnd,lpctstr lptext,lpcstr lpcaption,uint ustyle 注 應先將專案屬性中的字符集屬性改為多字符集 unicode 訊息框函式有4 個引數 ustyle可以是在winuser.h中定義的一組字首以mb 開始...