永发信息网

VC++中MessageBox的用法

答案:4  悬赏:50  手机版
解决时间 2021-03-23 20:31
  • 提问者网友:锁深秋
  • 2021-03-23 06:34
VC++中MessageBox的用法
最佳答案
  • 五星知识达人网友:孤独的牧羊人
  • 2021-03-23 07:09
首先,MessageBox有很多个版本,有SDK的,也有CWnd类成员的等等,各个版本的MessageBox函数的参数不一样。

其次,有些版本的MessageBox函数里的参数是有默认值的,就可以不用写。
比如int MessageBox( LPCTSTR lpszText, LPCTSTR lpszCaption = NULL, UINT nType = MB_OK );这个是CWnd里的,后2个参数有默认值,可以不用写。
全部回答
  • 1楼网友:佘樂
  • 2021-03-23 10:15
它的参数有的可以默认,需要的时候用,不需要的时候就可以省略,所以没有对错! 你看看两种情况的运行结果就知道有什么区别了。
查MSDN可以知道它所有参数的含义!
  • 2楼网友:思契十里
  • 2021-03-23 09:34
四个参数都要写全的MessageBox函数,是SDK的MessageBox函数,必须显式地指定四个参数,因为C中没有默认参数的概念;只要部分参数的MessageBox,是MFC对SDK的MessageBox的封装,是CWnd类的成员函数,它利用了C++的特性,即可以不显式地提供所有参数。因为它有默认参数。
C++基础不够,学VC++够呛。
  • 3楼网友:不如潦草
  • 2021-03-23 08:36
直接使用API MessageBoxA
MessageBox (NULL,"你好,我的Visual C++世界!","问候",0) ;
使用类中的MessageBox,此时类负责把其他参数填写好.
MessageBox ("你好,我的Visual C++世界!")
我说一下API
一般是
MessageBoxA(窗口句柄,内容,标题,消息框样式);
还有一个MessageBoxW,这个是负责处理Unicode字符串的,例如
MessageBoxW(窗口句柄,L"content",L"title",消息框样式);
其中需要接收字符串的参数都需要传递wchar_t或其衍生类型.
如果窗口句柄传递NULL,那就是不锁定任何已有的窗口.
在类中调用全局方法是在前面加上 :: 如果加了这个,那么只能使用4个参数的了.
::MessageBox(NULL,"","",0);
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯