C window訊息視窗

2021-09-26 04:16:14 字數 1461 閱讀 7108

c語言是大小寫敏感,所有的字串都要用text包起來,避免出錯

text是乙個巨集,當字串中有中文的時候最好用text來包圍這個字串,雖然不使用text在vc6中沒問題,但是在vc7中有問題,而且微軟也建議使用text巨集,因此在涉及到中文的場合要使用它。他的作用就是把中文轉化成不會亂碼的格式。(暫時這麼認為)。_t("問好"),其實_t只是text的乙個縮寫而已。而且_t在有的低版本裡不識別。text()低版本也識別。暫時不用關心text的細節

int apientry winmain(hinstance hinstance,

hinstance hprevinstance,

lpstr lpcmdline,

int ncmdshow)

可是如果我想顯示「確定、取消」按鈕的時候同時使用問號圖示呢?

messagebox(null, text("世界你好"), text("你好"), mb_okcancel|mb_iconquestion);
「 | 」是什麼意思?「 | 」是位運算裡的「或」運算,只有對應的兩個二進位有一位為 1 時,結果位才為 1 ,否則為 0 。 mb_ok、mb_okcancel等的低四位不同,但是高位永遠為0; mb_iconhand 、 mb_iconquestion 等的低 5 至第 8 位不同,而其他位永遠為 0 。這樣「 mb_ok、mb_okcancel 」組的數值與「 mb_iconhand 、 mb_iconquestion 」組的數值進行或運算後能分別保留各自的部分,也就是在結果值中同時體現兩組的取值。

可設定希望在對話方塊中顯示的按鈕:

#define mb_ok 0x00000000l

#define mb_okcancel 0x00000001l

#define mb_abortretryignore 0x00000002l

#define mb_yesnocancel 0x00000003l

#define mb_yesno 0x00000004l

#define mb_retrycancel 0x00000005l

也可以設定對話方塊中顯示的圖示:

#define mb_iconhand 0x00000010l

#define mb_iconquestion 0x00000020l

#define mb_iconexclamation 0x00000030l

#define mb_iconasterisk 0x00000040l

選擇後的判定

int ret = messagebox(null, text("你是外星人嗎?"), text("火星人"),mb_yesno | mb_iconquestion);

if(idyes==ret)

else

跟多參考win32api

MFC視窗訊息

mfc應用程式中處理訊息的順序 1.afxwndproc 該函式負責接收訊息,找到訊息所屬的cwnd物件,然後呼叫afxcallwndproc 2.afxcallwndproc 該函式負責儲存訊息 儲存的內容主要是訊息識別符號和訊息引數 用程式以後使用,然後呼叫windowproc 函式 3.win...

MFC視窗訊息

mfc應用程式中處理訊息的順序 1.afxwndproc 該函式負責接收訊息,找到訊息所屬的cwnd物件,然後呼叫afxcallwndproc 2.afxcallwndproc 該函式負責儲存訊息 儲存的內容主要是訊息識別符號和訊息引數 用程式以後使用,然後呼叫windowproc 函式 3.win...

messager 訊息視窗

一 messager.alert 類似js中的alert string 方法引數 title,msg,icon,function 函式 描述 title頭部面板標題 msg主要訊息內容 icon 訊息圖示,可用值有 error,question,info,warning function 函式 案例...