微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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}

原文地址:https://www.jb51.cc/react/308345.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐