MessageBox()用错了吗?

paperhappy 2009-05-26 02:42:15
程序里我是这样用的
MessageBox(NULL,_T("m_strSend.GetBuffer(m_strSend.GetLength())"),"Analysis", MB_OK);
有错吗?


为什么总是报错呢.error C2660: 'MessageBoxW' : function does not take 4 parameters
...全文
278 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
tbag753951 2009-05-26
  • 打赏
  • 举报
回复
MessageBox你传4个0,照样显示,有时候调试时就会这样干

楼主你的问题是因为你的第三个参数是ansi字符,要转为unicode字符,用L宏或TCHAR()宏也行。答案楼上的都说了
paperhappy 2009-05-26
  • 打赏
  • 举报
回复
http://blog.csdn.net/linhong34/archive/2007/07/31/1719219.aspx
MessageBox()函数
zwfgdlc 2009-05-26
  • 打赏
  • 举报
回复
MessageBox()前面要加::吧,估计你用的是CComControl::MessageBox().
原型是这样的,没有4个参数
int MessageBox(
LPCTSTR lpszText,
LPCTSTR lpszCaption = _T(""),
UINT nType = MB_OK
);

m_tornado 2009-05-26
  • 打赏
  • 举报
回复
看你怎么赋值的了,可能中间出问题了,调试下吧:)
paperhappy 2009-05-26
  • 打赏
  • 举报
回复
不好意思,主要是我的问题太多了。。。。
还望多指教啊!呵呵!
zjfhgdx 2009-05-26
  • 打赏
  • 举报
回复
一个MESSAGEBOX函数搞得好复杂哦..呵呵.有点糊涂了
paperhappy 2009-05-26
  • 打赏
  • 举报
回复
TCHAR的确是一个宏!zjfhgdx 老师。
paperhappy 2009-05-26
  • 打赏
  • 举报
回复
老师:m_tornado
MessageBox()函数的用法看来我是用起来还是不太明白啊。
如果我不用设断点,单步调试的话,用这个函数可以看到所有我想看到的值吗?比如buf,bufLen及memcpy()函数的效果吗?
zjfhgdx 2009-05-26
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 paperhappy 的回复:]
老师:zjfhgdx
我记得我在网上查资料时看到的是2个字节啊!
TCHAR等价于WCHAR.WCHAR为Unicode字符,即不论中英文,每个字有两个字节组成.
[/Quote]
TCHAR会根据不同环境变化的吧,他是一个宏吧.
starytx 2009-05-26
  • 打赏
  • 举报
回复
MessageBox的参数形式很多,也有很多默认参数,具体环境具体应用
paperhappy 2009-05-26
  • 打赏
  • 举报
回复
老师:zjfhgdx
我记得我在网上查资料时看到的是2个字节啊!
TCHAR等价于WCHAR.WCHAR为Unicode字符,即不论中英文,每个字有两个字节组成.
m_tornado 2009-05-26
  • 打赏
  • 举报
回复
unicode双字节
你的数据还没拷贝就弹出来了,应该放到最后一句
paperhappy 2009-05-26
  • 打赏
  • 举报
回复
如果弹出对话框里面什么也没有的话,就是说m_strSend的内容是空的呢?
可是我在对话框里是写了内容的啊!
会不会是 memcpy()函数没有起作用呢?
zjfhgdx 2009-05-26
  • 打赏
  • 举报
回复
1个BYTE可以存储一个UNICODE,这样不需要*2吧?
paperhappy 2009-05-26
  • 打赏
  • 举报
回复
EVC的话应该是*2的吧,我是这样认为的。不知对不对?
m_tornado 2009-05-26
  • 打赏
  • 举报
回复
length不是size
unicode编码是两字节,自己琢磨琢磨
zjfhgdx 2009-05-26
  • 打赏
  • 举报
回复
int bufLen = m_strSend.GetLength()*2;
这里要*2吗?我也不清楚
m_tornado 2009-05-26
  • 打赏
  • 举报
回复
要看m_strSend的内容的话,下面这样就行
MessageBox(m_strSend, _T("Analysis"), MB_OK);
yuznzhen426 2009-05-26
  • 打赏
  • 举报
回复
MessageBoxW(NULL,L"kaishi",L"jieshu",MB_OK);
paperhappy 2009-05-26
  • 打赏
  • 举报
回复
感谢以上三位老师!请多指教!
加载更多回复(9)
这本书我看了 很不错的 他的目录: 说在前头的 1. 闪烁吧!看看extjs那些美丽的例子。 1.1. 一切从extjs发布包开始 1.2. 看看ext-1.1.1的文档 1.3. 看看ext-2.0的文档 1.4. 为什么有的例子必须放在服务器上才能看到效果? 1.5. 为什么自己按照例子写的代码,显示出来总找不到图片 1.6. 我们还需要什么? 2. 震撼吧!让你知道ext表格控件的厉害。 2.1. 功能丰富,无人能出其右 2.2. 让我们搞一个grid出来耍耍吧。 2.3. 上边那个是1.x的,2.0稍微有些不同哦 2.4. 按顺序,咱们先要把常见功能讲到,让grid支持按列排序 2.5. 让单元格里显示红色的字,图片,按钮,你还能想到什么? 2.6. 更进一步,自动行号和多选checkbox 2.6.1. 自动行号 2.6.2. 全选checkbox的时间了,请允许我让2.0先上场。 2.6.3. 1.x时代的全选checkbox。 2.7. 还差:表头菜单,分页,可编辑表格,去服务器读取数据,改变大小,表格间拖拽,树与表格间拖拽。 3. 歌颂吧!只为了树也要学ext。 3.1. 真的,我是为了树,才开始学ext的。 3.2. 传统是先做出一棵树来。 3.3. 超越一个根 3.4. 你不会认为2.0里跟1.x是一样的吧? 3.5. 这种装配树节点的形式,真是让人头大。 3.6. 下一步使用jsp作为后台,让咱们看看实际怎么用程序判断,来返回特定节点的子节点。 4. 祝福吧!把表单和输入控件都改成ext的样式。 4.1. 不用ext的form啊,不怕错过有趣的东西吗? 4.2. 慢慢来,先建一个form再说 4.3. 胡乱扫一下输入控件 4.4. 更绚丽的效果和功能 5. 雀跃吧!超脱了一切的弹出窗口。 5.1. 呵呵~跳出来和缩回去总给人惊艳的感觉。 5.2. 先看看最基本的三个例子 5.2.1. Ext.MessageBox.alert() 5.2.2. Ext.MessageBox.confirm() 5.2.3. Ext.MessageBox.prompt() 5.3. 如果你想的话,可以控制得更多 5.3.1. 可以输入多行的输入框 5.3.2. 再看一个例子呗 5.3.3. 下一个例子是进度条 5.3.4. 动画效果,跳出来,缩回去 5.4. 更进一步撒。 6. 奔腾吧!让不同的浏览器里显示一样的布局。 6.1. 有了它,我们就可以摆脱那些自称ui设计师的人了。 6.2. 关于BorderLayout 6.3. 嗯,不如再看看附加效果 6.3.1. 先看看split 6.3.2. 再试试titlebar 6.3.3. 还不够,还不够,让四周的区域可以缩起来 6.3.4. 给这些区域都加上个关闭按钮 6.3.5. 听说还可以用NestedLayoutPanel实现更复杂的布局 6.4. 2.0的ViewPort基本是完全不同的实现 7. 低鸣吧!拖拽就像呼吸一样容易。 7.1. 如此拖拽,简直就像与生俱来的本能一样。 7.2. 第一!乱拖。 7.3. 第二!代理proxy和目标target 7.4. 再拖!再拖拖。 8. 哭泣吧!现在才开始讲基础问题。 8.1. Ext.get 8.2. 要是我们想一下子获得一堆元素咋办? 8.3. DomHelper和Template动态生成html 8.3.1. DomHelper用来生成小片段 8.3.2. 批量生成还是需要Template模板 9. 沉寂吧!我们要自己的控件。 9.1. 下拉树形选择框TreeField 9.2. 带全选的checkbox树形CheckBoxTree 9.3. 带全选的checkbox的grid A. 常见问题乱弹 A.1. 怎么查看ext2里的api文档 A.2. 想把弹出对话框单独拿出来用的看这里 A.3. 想把日期选择框单独拿出来用的看这里 B. 修改日志 C. 后记 C.1. 2007年12月5日,迷茫阶段 C.1.1. 仇恨 C.1.2. 反省

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧