MessageBoxA 和MessageBoxW
文章目錄
- 第一個參數:
- 第二個參數:
- 第三個參數:
- 第四個參數:
- 補充
- 代碼實現
MessageBoxA(NULL, text, title, MB_OK)
第一個參數:
HWND hWnd
傳入一個句柄,這個窗口句柄代表的窗口就是這個消息窗口的所有者,這個如果為NULL的話,則消息框沒有擁有窗口,即歸桌面所有。
第二個參數:
LPCSTR lpText可填入 窗口的內容字符串,賦值時在字符前面記得加個L,即按寬字符來編譯。舉例:LPCWSTR text = L"hello world";
LPCSTR代表char * 類型 ;LPCWSTR代表 WCHAR *類型 (補充一下:WCHAR 代表寬字符,有需要的可以自己去了解一下windows核心編程)
有時候可能會看到LPCTSTR,其實它不是什么類型,它也就是LPCSTR ,LPCWSTR二者的一個宏定義而已,它可以自動配環境來自動轉換。
第三個參數:
```LPCTSTR lpCaption````可填入 窗口的標題字符串
解釋同上
第四個參數:
UINT uType
| MB_OK | 默認值。有一個確認按鈕在里面。 |
| MB_YESNO | 有是和否在里面。 |
| MB_ABORTRETRYIGNORE | 有Abort(放棄),Retry(重試)和Ignore(跳過) |
| MB_YESNOCANCEL | 消息框含有三個按鈕:Yes,No和Cancel |
| MB_RETRYCANCEL | 有Retry(重試)和Cancel(取消) |
| MB_OKCANCEL | 消息框含有兩個按鈕:OK和Cancel |
補充
MessageBoxA指的是多字節字符集環境下所使用的函數
MessageBoxW指的是Unicode字符集(寬字符)環境下所使用的函數
至于有時候會出現MessageBox這個,其實它的道理也是同上方一樣,它是MessageBoxA
和MessageBoxW根據環境來弄的一個宏定義,根據環境來自動選擇是MessageBoxA還是MessageBoxW
代碼實現
#include<iostream> #include<Windows.h> using namespace std; int main() {LPCWSTR text = L"hello world";LPCWSTR title = L"第一個MessageBoxW";MessageBoxW(NULL, text, title, MB_OK); } #include<iostream> #include<Windows.h> using namespace std; int main() {LPCSTR text = "hello world";LPCSTR title = "第一個MessageBoxA";MessageBoxA(NULL, text, title, MB_OK); }
備注:
2021年堅持學寫博客第3天(學習兩個windows API) 尋夢SS
明日目標:
windows核心編程API函數
總結
以上是生活随笔為你收集整理的MessageBoxA 和MessageBoxW的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ReadFile 和 补充Create
- 下一篇: GetFileAttributesEx读