reactos操作系统实现(176)

MessageBox函数一个非常简单提示性窗口函数,那么它是怎么实现显示窗口的呢?现在就来分析它的实现代码,如下:

#001 int

#002 WINAPI

#003 MessageBoxW(

#004 HWND hWnd,

#005 LPCWSTR lpText,

#006 LPCWSTR lpCaption,

#007 UINT uType)

#008 {

在这里主要调用函数MessageBoxExW来实现。

#009 return MessageBoxExW(hWnd,lpText,lpCaption,uType,LANG_NEUTRAL);

#010 }

MessageBoxExW函数实现如下:

#001 int

#002 WINAPI

#003 MessageBoxExW(

#004 HWND hWnd,

#007 UINT uType,

#008 WORD wLanguageId)

#009 {

定义一个消息框的结构。

#010 MSGBoxParaMSW msgBox;

#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}

相关文章

一、前言 在组件方面react和Vue一样的,核心思想玩的就是组件...
前言: 前段时间学习完react后,刚好就接到公司一个react项目...
前言: 最近收到组长通知我们项目组后面新开的项目准备统一技...
react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...