C++MessageBox("Hello world!");需要加什么头文件?

为什么我在对话框程序中直接可以用1个参数,而在新建的源文件中就不能用1个参数,需要#include什么?... 为什么我在对话框程序中直接可以用1个参数,而在新建的源文件中就不能用1个参数,需要#include什么? 展开
 我来答
985967518
2016-01-08 · 知道合伙人教育行家
985967518
知道合伙人教育行家
采纳数:18027 获赞数:109866
14年本科毕业于河南理工大学,至今就读于河南理工大学攻读硕士学位,从事编程学习已有5年。

向TA提问 私信TA
展开全部

加入头文件:windows.h

windows.h是一个最重要的头文件,它包含了其他Windows头文件,这些头文件的某些也包含了其他头文件。这些头文件定义了Windows的所有资料型态、函数调用、资料结构和常数识别字,它们是Windows文件中的一个重要部分。

MessageBox函数原型:int WINAPI MessageBox(HWND hWnd,LPCTSTR lpText,LPCTSTR lpCaption,UINT uType);

参数

  hWnd:此参数代表消息框拥有的窗口。如果为NULL,则消息框没有拥有窗口。

  lpText:消息框的内容。如果使用了Unicode库,则把文本变成:

  lpCaption:消息框的标题。如果使用了Unicode库,则把文本变成:

  uType:指定一个决定对话框的内容和行为的位标志集。此参数可以为下列标志组中标志的组合。指定下列标志中的一个来显示消息框中的按钮以及图标。

参考代码:

#include<windows.h>
#include<iostream>
using namespace std;
int main()
{
    int result =MessageBox( NULL , TEXT("Hello world!") , NULL , MB_ICONINFORMATION|MB_YESNO);
    return 0;
}
veket的小号
2014-11-21 · TA获得超过3371个赞
知道大有可为答主
回答量:3762
采纳率:0%
帮助的人:3986万
展开全部
对话框里你调的是CWnd::MessageBox 少年!windows.h啦 对话框call api 遇到CWnd等类有同名函数 前面加::
代表 调用全局API函数
::MessageBox(NULL, TEXT("内容"), TEXT("标题"), MB_OK);
追问
为什么我加了#include "windows.h"还是不能用1个参数,不是对话框里
追答
CWnd类的成员函数 是
int CWnd::MessageBox( LPCTSTR lpszText,
LPCTSTR lpszCaption = NULL, UINT nType
= MB_OK );
它共有3个参数,后两个可以是默认参数 即你可以只给他传一个参数

API的MessageBox必须填4个参数 ,xxxDlg是CDialog的派生类 CDialog是CWnd的派生类
int MessageBox(
HWND hWnd, // handle to owner window
LPCTSTR lpText, // text in message box
LPCTSTR lpCaption, // message box title
UINT uType // message box style
);

xxxDlg 从CWnd类哪里继承了CWnd::MessageBox 在xxxDlg的成员函数中可以直接MessageBox调用从CWnd继承来的MessageBox
但是你在xxxDlg里想调API的MessageBox 你就要在前面加 上 :: (用来区分同名的函数...)并且参数是4个 亲
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
镧锗镱镥铽镝钐
2018-04-04 · TA获得超过2252个赞
知道小有建树答主
回答量:23
采纳率:0%
帮助的人:1.1万
展开全部

加入头文件:windows.h

windows.h是一个最重要的头文件,它包含了其他Windows头文件,这些头文件的某些也包含了其他头文件。这些头文件定义了Windows的所有资料型态、函数调用、资料结构和常数识别字,它们是Windows文件中的一个重要部分。

MessageBox函数原型:int WINAPI MessageBox(HWND hWnd,LPCTSTR lpText,LPCTSTR lpCaption,UINT uType);

参数

hWnd:此参数代表消息框拥有的窗口。如果为NULL,则消息框没有拥有窗口。

lpText:消息框的内容。如果使用了Unicode库,则把文本变成:

lpCaption:消息框的标题。如果使用了Unicode库,则把文本变成:

uType:指定一个决定对话框的内容和行为的位标志集。此参数可以为下列标志组中标志的组合。指定下列标志中的一个来显示消息框中的按钮以及图标。

参考代码:

#include<windows.h>

#include<iostream>

using namespace std;

int main()
{

int result =MessageBox( NULL , TEXT("Hello world!") , NULL , MB_ICONINFORMATION|MB_YESNO);
return 0;

}

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
砍侃看
2014-11-21 · TA获得超过6153个赞
知道大有可为答主
回答量:6584
采纳率:69%
帮助的人:2093万
展开全部
对话框调用的是CDialog的成员函数,直接调用的话应该是WIN32 API,不一样得,你可查MSDN
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
萨尔那加
2014-11-21 · 知道合伙人软件行家
萨尔那加
知道合伙人软件行家
采纳数:190 获赞数:464
毕业于那美克星麻省理工学院计算机专业,硕士学位,it行业10年从业经验,通读计算机类相关书籍。

向TA提问 私信TA
展开全部
#include "stdafx.h"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式