MessageBox("Hello vs2010 错误检测");//vs2010 错误检测加什么就不错误?

安全检查中...
请打开浏览器的javascript,然后刷新浏览器
< 浏览器安全检查中...
还剩 5 秒&15540人阅读
虽然孙鑫老师的视频是经典。可是我发现VC&#43;&#43;6.0编出来的MFC在2010里就报错了。决定研究一下变化,以适应新的环境
删除消息框或者什么东西的时候就应该像6.0那样在类视图里删除,而不应该删除代码。有可能有声明的残留。导致编译错误。
其次,自己手动删除也行,添加一个事件处理,有3个地方要添加代码
在头文件类的消息处理函数声明中:
Class CXXXWnd : public CWnd
protected:
DECLARE_MESSAGE_MAP()
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
2. .cpp消息映射中
BEGIN_MESSAGE_MAP(CMarkLineItemWnd, CDrawItemWnd)
ON_WM_LBUTTONDOWN()
//ON_MESSAGE( WM_MOUSEHOVER, OnMouseHover)
//ON_MESSAGE( WM_MOUSELEAVE, OnMouseLeave)
ON_WM_SIZE()
END_MESSAGE_MAP()
3. .cpp的消息处理函数
void CXXXWnd ::OnLButtonDown(UINT nFlags, CPoint point)
// TODO: Add your message handler code here and/or call default
Cwnd::OnLButtonDown(nFlags, point);
目前只发现了这个方法。希望有高人指教。。。。。。
消息框是个很常用的控件,属性比较多,本文列出了它的一些常用方法,及指出了它的一些应用场合。
MessageBox(_T(&这是一个最简单的消息框!&));
MessageBox(_T(&这是一个有标题的消息框!&),_T(&标题&));
MessageBox(_T(&这是一个确定 取消的消息框!&),_T(&标题&), MB_OKCANCEL );
MessageBox(_T(&这是一个警告的消息框!&),_T(&标题&), MB_ICONEXCLAMATION );
MessageBox(_T(&这是一个两种属性的消息框!&),_T(&标题&), MB_ICONEXCLAMATION|MB_OKCANCEL );
if(MessageBox(_T(&一种常用的应用&),_T(&标题&),MB_ICONEXCLAMATION|MB_OKCANCEL)==IDCANCEL)
附其它常用属性
系统默认图标,可在消息框上显示
X错误 MB_ICONHAND, MB_ICONSTOP, and MB_ICONERROR
?询问 MB_ICONQUESTION
!警告 MB_ICONEXCLAMATION and MB_ICONWARNING
i信息 MB_ICONASTERISK and MB_ICONINFORMATION
按钮的形式
MB_OK 默认
MB_OKCANCEL 确定取消
MB_YESNO 是否
MB_YESNOCANCEL 是否取消
返回&#20540;
IDCANCEL 取消被选
IDNO 否被选
IDOK 确定被选
IDYES 是被选
以上消息框的用法是在CWnd的子类中的应用,如果不是,则要MessageBox(NULL,&ddd&,&ddd&,MB_OK); 或MessageBox(hWnd,&ddd&,&ddd&,MB_OK); hWnd为某窗口的句柄,或者直接用AfxMessageBox。
这里所列出的属性只是一些常用属性,在MSDN中还有更多的属性
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:163211次
积分:1873
积分:1873
排名:千里之外
原创:38篇
转载:37篇
评论:34条
(3)(2)(1)(2)(1)(1)(3)(3)(2)(1)(9)(5)(1)(1)(3)(6)(1)(1)(1)(2)(3)(1)(8)(3)(2)(1)(5)(3)
(window.slotbydup = window.slotbydup || []).push({
id: '4740881',
container: s,
size: '200,200',
display: 'inlay-fix'MessageBox(szNameList,"人员");
改为:MessageBox(szNameList,_T("人员"));
unicode字符问题。2010工程默认是宽字符版本
解决方法:
菜单 项目 -& 属性 (打开属性页) -& 配置属性 -& 常规 -& 字符集&
单前选中的应该是&使用Unicode字符集&,改为&使用多字节字符集&
MessageBox这个函数可以在VC里面显示一个标准对话框,是比较常用的一个信息对话框,其不仅能够定义显示的信息内容、信息提示图标,而且可以定义按钮组合及对话框的标题,是一个功能齐全的信息对话框。
函数原型及参数int MessageBox(HWND hWnd,
LPCTSTR lpText, LPCTSTR lpCaption, UINT, uType);
参数含义:
HWND hWnd &&
父窗口的句柄。(在使用的时候发现在CView类里面不要填这一项,但是如果是再其他的类中,就要填写)
LPCTSTR lpText
&& 对话框的内容
lpCaption && 对话框的标题
UINT uType
&&对话框类型常量(窗口的风格)
该函数的返回值为整数,用于对话框按钮的识别。
对于Messagebox("hello");,它在vc6.0中运行是没有问题的,但在vs2005里编译却遇到了以下的错误:
documents\visual studio 2005\projects\mfccc\mfc\dlg.cpp(48) : error
C2664: 'CWnd::MessageBoxW' : cannot convert parameter 1 from
'const char [6]' to 'LPCTSTR'
原因是这样的:在VS2005中默认的类型是Unicode,而"hello"是ASCII,而非Unicode,因此会出错。
解决方式:Messagebox(_T("hello"));或者Messagebox(TEXT("hello"));或MessageBox(L"hello");
注:_T("hello")在宽字符集的工程里等于L"hello";_T("hello")在ASCII的工程里等于"hello"。
在宽字符集的工程里,表达的意思一样,在ascii的工程里,不同。
_T("hello, world")在宽字符集的工程里等于L"hello, world"
_T("hello, world")在ascii的工程里等于"hello, world"
是通过条件编译实现的。
UNICODE与ANSI
有什么区别呢?简单的说,UNICODE版的字符比ANSI
的内存占用大,比如:&
Win32程式中出现的标准定义
char 占一个字节,而 char 的UNICODE版被定义成这样:typedef unsigned short wchar_t
;占2个字节。&
所以有字符做参数的函数相应也用两个版本了。&
宽字节版函数中带有字符参数的都应该用宽字节版的字符参数,将字符串转换成宽字节很容易:&
"Application Error"
转换成UNICODE版,只需在它前面使用一个定义了的宏,如下:&
L"Application
Error" ,或者TEXT("Application Error" )都可以&
所以你应将
MessageBox(NULL,Temp,"Application Error",MB_ICONSTOP);
阅读(...) 评论() &MASM32+Visual studio 2010写汇编程序入门(图文)
时间: 09:24:13
因为很多强大的外挂是用汇编写的,所以需要一个开发环境来调试和运行他们的示例代码,我选择了MASM32 &#43; VS 2010
用Visual Studio 2010写汇编程序并不难,这儿总结一下,方便入门和进一步学习。
一、安装masm32
目的:得到汇编头文件和库文件
1. 在/masmdl.htm下载安装包:
2. 安装过程如图:
二、配置VS2010
三、写Hello world程序
这儿直接贴代码吧:
.model flat, stdcall
option casemap: none
include windows.inc
include kernel32.inc
include user32.inc
includelib kernel32.lib
includelib user32.lib
&Hello&, 0
&Hello World!&, 0
INVOKE MessageBox, NULL, addr szText, addr szCaption, MB_OK
INVOKE ExitProcess, 0
四、安装汇编高亮插件
1. 在/下载安装包:最新的是: 19 June 2012, AsmHighlighter 1.6 - VS2010 &#43; VS2012 release
五、运行程序
好了,现在开始,你可以看书籍,逛论坛,运行他们的程序了。
3Q very much
代码分析中没有listing file怎么回事
$T.total > 0 && $T.page <= $T.pageNum}
{#foreach $T.data as r}
{$T.r.formt_tm}{#if $T.r.nickname}{#else}匿名{#/if}
{$T.r.content}
{#if $T.page > 1 && $T.pageNum > 1)
$T.s_num > 2}
{#for index = $T.s_num to $T.e_num}
$T.pageNum > $T.pageNavSize+ 2 && $T.s_num != $T.pageNum - $T.pageNavSize}
{#if $T.pageNum > 1}
{#if $T.pageNum != $T.page && $T.pageNum > 1}
<a href="javascript:void(0);" page="{$T.page 下一页
您的回应...
也许你感兴趣
(window.slotbydup=window.slotbydup || []).push({
id: '3465635',
container: s,
size: '120,240',
display: 'float'
(C)2012 本站提供的内容来源于广大网络用户,我们不保证内容的正确性。如果转载了您的内容,希望删除的请联系我们!}

我要回帖

更多关于 vs2010 错误检测 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信