MessageBox函数是一个非常简单提示性窗口函数,那么它是怎么实现显示窗口的呢?现在就来分析它的实现代码,如下:
#001 int
#002 WINAPI
#003 MessageBoxW(
#004 HWND hWnd,
#005 LPCWSTR lpText,
#006 LPCWSTR lpCaption,
#007 UINT uType)
#008 {
#009 return MessageBoxExW(hWnd,lpText,lpCaption,uType,LANG_NEUTRAL);
#010 }
#001 int
#002 WINAPI
#003 MessageBoxExW(
#004 HWND hWnd,
#007 UINT uType,
#008 WORD wLanguageId)
#009 {
定义一个消息框的结构。
#011
设置结构大小,以便实现不同版本兼容。
#012 msgBox.cbSize = sizeof(msgBox);
设置本窗口属于那个窗口的句柄。
#013 msgBox.hwndOwner = hWnd;
设置进程实例为空。
#014 msgBox.hInstance = 0;
#015 msgBox.lpszText = lpText;
#016 msgBox.lpszCaption = lpCaption;
窗口显示的类型。
#017 msgBox.dwStyle = uType;
窗口图标为空。
#018 msgBox.lpszIcon = NULL;
窗口帮助索引为空。
#019 msgBox.dwContextHelpId = 0;
窗口回调函数也为空。
#020 msgBox.lpfnMsgBoxCallback = NULL;
不同的语言显示。
#021 msgBox.dwLanguageId = wLanguageId;
#022
调用函数MessageBoxTimeoutIndirectW进一步显示。
#023 return MessageBoxTimeoutIndirectW(&msgBox,(UINT)-1);
#024}
原文链接:https://www.f2er.com/react/308345.html