1樓:冰跑跳
afxmessagebox是mfc庫提供的,提供了多種過載形式,afxmessagebox是mfc的全域性函式.而messagebox是標準的windows api.
2樓:匿名使用者
一、函式原型
afxmessagebox:
int afxmessagebox( lpctstr lpsztext, uint ntype = mb_ok, uint nidhelp = 0 );
int afxapi afxmessagebox( uint nidprompt, uint ntype = mb_ok, uint nidhelp = (uint) –1 );
在第一種形式中,lpsztext表示在訊息框內部顯示的文字,訊息框的標題為應用程式的可執行檔名(如hello)。在第二種形式中,nidprompt為要顯示的文字字串在字串表中的id。函式呼叫時會自動從字串表中載入字串並顯示在訊息框中。
ntype為訊息框中顯示的按鈕風格和圖示風格的組合,可以採用|(或)操作符組合各種風格。
messagebox:
int winapi messagebox(hwnd hwnd,lpctstr lptext,lpctstr lpcaption,uint utype);
hwnd:訊息框的擁有窗此引數口。如果為null,則訊息框沒有擁有視窗。
lptext:訊息框的內容。
lpcaption:訊息框的標題。
utype:指定一個決定對話方塊的內容和行為的位標誌集。
二、區別
afxmessagebox比messagebox簡單一些,因為它是一個全域性函式所以不需要對應的一個視窗類,但是不能控制訊息框標題,常用於除錯程式時的內部資料輸出或警告;messagebox比較正式,常用在要提交的應用程式版本中,可以控制標題內容而不必採用含義不明的可執行檔名為標題。
mfc裡怎麼用afxmessagebox顯示變數?
3樓:匿名使用者
cstring strcap = "caption";
int icap = 555;
cstring cap;
cap.format ( "標題%s\n變數%d", strcap,icap );
afxmessagebox ( cap.getstring (), mb_ok, 0 );
4樓:匿名使用者
cstring str;
str.format(_t("%d"), your_變數);
afxmessagebox(str);
mfc裡afxmessagebox無法使用
5樓:匿名使用者
vs2005以上編譯器預設選擇unicode模式,該模式下messagebox等等幾乎所有字串的引數都不能使用 "1234" 這樣的字串,因為"1234"是非unicode的編碼,應該改為 _t("1234"),_t()可以自動根據當前是否unicode而轉換成相應的編碼,也就是說不管是不是unicode,_t("1234")肯定是可以用的。另外還有一種方便的寫法是 l"1233" 僅代表unicode,非unicode下不能使用
第二個問題同理
而mfc中通用的字串類cstring很好用的,也是自動適應編碼,可以作為絕大多數api的字串型別引數
6樓:匿名使用者
工程不對或者呼叫位置不對。
貼完整函式**上來並說明所在類和cpp檔案頭包含情況。
7樓:佈列瑟農s狼
afxmessagebox(_t("aaaa"))試試?
mfc中afxmessagebox的使用
8樓:顛倒的世界
1、首先開啟電腦,新建一個基於對話方塊的應用程式,應用程式命名為afxmessageboxdemo,如下圖所示。
2、在開啟的對話方塊中進行如下的處理,新增退出按鈕和一個靜態文字框,如下圖所示。
3、然後雙擊退出按鈕對退出按鈕新增響應函式,響應函式如下。
4、程式執行如下。
5、點選退出按鈕後,程式執行如下,這樣就完成了。
9樓:來自月岩儀態萬千的比目魚
afxmessagebox
int afxmessagebox( lpctstr lpsztext, uint ntype = mb_ok, uint nidhelp =0 );
int afxapi afxmessagebox( uint nidprompt, uint ntype = mb_ok, uint nidhelp = (uint) -1
);返回值:
如果沒有足夠的記憶體來顯示訊息框就返回零,否則可能是下列值之一:
idabort
選擇了abort按鈕。
·idcancel 選擇了cancel按鈕。 ·
idignore 選擇了ignore按鈕。
idno 選擇了no按鈕。
idok 選擇了ok按鈕。
idretry 選擇了retry按鈕。
idyes 選擇了yes按鈕。
如果訊息框具有cancel按鈕,那麼當按下了esc鍵或者是選擇了cancel按鈕時,就會返回idcancel值。如果訊息框沒有cancel按鈕,按下esc鍵沒有任何效果。
在格式化訊息框中顯示的字串時,函式afxformatstring1和afxformatstring2非常有用。
引數:lpsztext 指向一個cstring物件或者以null結尾的字串,包含了要在訊息框中顯示的資訊。
ntype 訊息框的風格。對對話方塊應用任何一種訊息框風格。
nidhelp 訊息的幫助上下文id。0表示將使用應用程式的預設幫助上下文。
nidprompt 用於引用字串表中的字串的唯一的id。
可見 ,你的引數使用錯誤。
nres = afxmessagebox(_t("您確定要進行加法計算嗎?"), mb_okcancel |
mb_iconquestion);
10樓:匿名使用者
nres = afxmessagebox(_t("您確定要進行加法計算嗎?"), mb_okcancel | mb_iconquestion);
afxmessagebox不同於messagebox,不需要自己定義標題
11樓:
int afxmessagebox( lpctstr lpsztext, uint ntype = mb_ok, uint nidhelp = 0 );
int afxapi afxmessagebox( uint nidprompt, uint ntype = mb_ok, uint nidhelp = (uint) –1 );
所以nres = afxmessagebox(_t("您確定要進行加法計算嗎?"), mb_okcancel |
mb_iconquestion);
就可以了
vs2010 的問題 mfc 中 messagebox()用法
12樓:匿名使用者
注意!vc++2010預設是unicode編碼!messagebox(null,_t("我要分啊"),_t("提示"),mb_ok),其中第一個引數是視窗控制代碼!
如何要用多位元組方式,messageboxa(null,"樓主好人","提示",mb_ok),如果不習慣後一種還可以改預設編碼,解決方案上單擊右鍵屬性->配置屬性->常規->字符集->多位元組字符集,樓主我一個個自打出來的,你看著辦吧
13樓:匿名使用者
{ if(findwindow(null,l"我的電腦")!=null) messagebox(l"我的電腦執行說明:這個程式在vs2010中編譯成功,使用的是mfc環境其中onbnclickedbutton1()
14樓:匿名使用者
function messagebox(hwnd: hwnd; text, caption: pchar; type: word): integer;
hwnd:對話方塊父視窗控制代碼,對話方塊顯示在delphi窗體內,可使用窗體的handle屬性,否則可用0,使其直接作為桌面視窗的子視窗。
text:欲顯示的資訊字串。
caption:對話方塊標題字串。
type:對話方塊型別常量。
該函式的返回值為整數,用於對話方塊按鈕的識別。
參考用法如下:
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;
注意:以上訊息框的用法是在cwnd的子類中的應用,如果不是,則要messagebox(null,"ddd","ddd",mb_ok); 或messagebox(hwnd,"ddd","ddd",mb_ok); hwnd為某視窗的控制代碼,或者直接用afxmessagebox。
mfc如何設定afxmessagebox出現的位置
15樓:信嬌索念之
afxmessagebox是無法控制出現位置的,這是一個封裝的快速提示。
需要一個指定位置或者指定樣式、大小的提示框,自己做一個dialog就好了,這樣你可以通過引數控制,在oninitdialog裡面通過movewindow控制對話方塊位置。
16樓:匿名使用者
afxmessagebox是mfc庫提供的全域性函式,其最終結果是呼叫 windowsapi messagebox()
由於引數中沒有提供座標位置的功能,首次彈出來 在螢幕的**,以後會自動按照z次序排列,(就是往右下角 偏移),所以你不能改變它的彈出位置
由於messagebox只是一個小視窗,你可以自己構造一個msgbox類,然後繼承視窗類,
17樓:匿名使用者
你把函式寫在哪就會出理在哪呀
vc++中,messagebox函式怎麼用呀?
18樓:匿名使用者
#include
//切記!當呼叫時,不要呼叫mfc!(afx.h)int main()
return 0;}
19樓:匿名使用者
應該是你建立工程的時候選擇了unicode編碼,所以不能直接使用"hello world!"這樣的字串。
winnt.h標頭檔案中定義:
#ifdef unicode
#define __text(quote) l##quote#else
#define __text(quote) quote#endif
#define text(quote) __text(quote)
M10和M18有什麼區別,M10與M10 1的區別是?
複雜的不談 具體點說主炮差不多 外型也比較類似 不像蘇聯德國坦克殲擊車都是無炮塔的 美國的坦克殲擊車都是薄皮坦克 最主要的區別就是m10比m18防護好點 速度慢點m18的前裝甲20mm炮就可以擊穿 但是速度可以達到80km h 機動性超強 鐳射對射感測器m12和m18有什麼區別 鐳射的優點就是檢測遠...
流量中的MB與M是什麼關係流量單位m和mb是什麼意思
如果是上網流量單位mb,m是mb簡寫,大小一樣。流量單位1gb 1024mb,1mb 1024kb,1kb 1024b。1 mb和m是一bai樣的,簡稱而 du已2,計算機中,單位zhi的大小由大到小 daotb,gb,mb,kb,b3 進製為1024,1tb 1024gb 1gb 1024mb 1...
S和M是什麼意思,m和s是什麼意思
s可以是秒的意思,有不同的意思。m可以是質量的意思等,可以是距離的意思在不同的學科裡 你這動畫裡指的是 施虐傾向 sadi 和受虐傾向 masochi 呵呵,同性戀中s是攻,m是受,即s是施虐者,m是受虐者。也可以用來形容一般人中的施虐者和受虐者 虐,是一家公司,或者就是姓虐待的意思,都有 系列 服...