![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
VC++
文章平均质量分 56
ychh_hjr
这个作者很懒,什么都没留下…
展开
-
解决DEBUG_NEW : undeclared identifier的问题
用VC++的向导生成的类, 都带有下面这几行:#ifdef _DEBUG #undef THIS_FILE static char THIS_FILE[]=__FILE__; #define new DEBUG_NEW #endif 有时在使用new操作符的时候就会提示错误error C2065: DEBUG_NEW : undeclared identifie转载 2010-04-29 22:40:00 · 3296 阅读 · 0 评论 -
一些常用算法实现
<br />CString newGUID()<br />{<br /> GUID guid;<br /> ::CoCreateGuid(&guid); //生成guid<br /> CString str;<br /> str.Format(_T("%08X%04X%04x%02X%02X%02X%02X%02X%02X%02X%02X"),guid.Data1,guid.Data2,guid.Data3,<br /> guid.Data4[0],guid.Data4[1],guid.Data4[2]原创 2010-10-09 10:01:00 · 498 阅读 · 0 评论 -
PreTranslateMessage作用和使用方法
<br />PreTranslateMessage是消息在送给TranslateMessage函数之前被调用的,绝大多数本窗口的消息都要通过这里,比较常用,当需要在MFC之前处理某些消息时,常常要在这里添加代码. <br /> <br /> MFC 消息控制流最具特色的地方是CWnd类的虚拟函数PreTranslateMessage(),通过重载这个函数,可以改变MFC的消息控制流程,甚至可以作一个全新的控制流出来。只有穿过消息队列的消息才受PreTranslateMessage(原创 2010-10-09 11:10:00 · 423 阅读 · 0 评论 -
VC++创建个性的对话框之MFC篇(转)
<br />本文涉及以下几个问题:<br />1. 修改对话框的背景颜色 <br />2. 用位图作为对话框的背景 <br />3. 改变静态控件文字和背景颜色 <br />4. 改变编辑框文字和背景颜色 <br />5. 改变CheckBox的文字和背景颜色 <br />6. 改变RadioBox的文字和背景颜色 <br />7. 改变按钮的背景颜色和文字颜色 <br />8. 在对话框中使用Picture控件<br />9. 修改Picture控件显示的位图 <br />10.使用LoadImage从资转载 2010-10-11 22:43:00 · 717 阅读 · 0 评论 -
VC 移动,复制,删除文件(SHFileOperation)
<br />总结一下SHFileOperation的用法,希望对大家有用<br /> <br />/删除文件或者文件夹<br />bool DeleteFile(char * lpszPath) <br />{ <br />SHFILEOPSTRUCT FileOp={0}; <br />FileOp.fFlags = FOF_ALLOWUNDO | //允许放回回收站<br /> FOF_NOCONFIRMATION; //不出现确认对话框<br />FileOp.pFrom = lpszP转载 2010-12-06 11:55:00 · 457 阅读 · 0 评论 -
获取目录文件数
<br />CSDN相关解释:<br />int count;<br />int CGetFileCountDlg::GetFileCount(CString szPath) <br />{ <br />count = 0; <br />Recurse(szPath); <br />return count; <br />} <br />void CGetFileCountDlg::Recurse(LPCTSTR pstr) <br />{ <br />CFileFind finder;<br />// b转载 2010-12-06 11:52:00 · 1334 阅读 · 0 评论 -
VC之CString,wchar_t,int,string,char*之间的转换
<br />CString 转 wchar_t<br />CString path = "asdf";<br />wchar_t wstr[256] = path.AllocSysString();<br />或者:<br />wchar_t wcstring[256];<br />MultiByteToWideChar(CP_ACP,0,path,-1,wcstring,256);<br />wchar_t转CString<br />WideCharToMultiByte(CP_ACP,0,wcstrin转载 2010-12-06 12:09:00 · 563 阅读 · 0 评论 -
回调函数
<br />一回调函数<br />我们经常在C++设计时通过使用回调函数可以使有些应用(如定时器事件回调处理、用回调函数记录某操作进度等)变得非常方便和符合逻辑,那么它的内在机制如何呢,怎么定义呢?它和其它函数(比如钩子函数)有何不同呢?<br />使用回调函数实际上就是在调用某个函数(通常是API函数)时,将自己的一个函数(这个函数为回调函数)的地址作为参数传递给那个函数。<br />而 那个函数在需要的时候,利用传递的地址调用回调函数,这时你可以利用这个机会在回调函数中处理消息或完成一定的操作。至于如何转载 2010-12-10 14:10:00 · 423 阅读 · 0 评论 -
孙鑫VC学习笔记:ActiveX 控件
<br />孙鑫VC学习笔记:ActiveX 控件<br />作者:华仔 | 录入时间:2007-12-26 | 点击:313 次 打印此文章 | 字体:大 中 小<br />基本概念:<br />容器和服务器程序<br /> 容器应用程序时可以嵌入或链接对象的应用程序。Word 就是容器应用程序。服务器应用程序是创建对象并且当对象被双击时,可以被启动的应用程序。Excel 就是服务器应用程序。ActiveX 控件不能独立运行,它必须被嵌入容器应用程序中,和容器应用程序一起运行。<br />原创 2011-01-26 11:51:00 · 778 阅读 · 0 评论 -
Visual Studio 2008无法创建智能设备项目的解决方法
<br />版权申明:http://yarin.javaeye.com/blog/453262<br /> <br />环境安装好了,下面我们来测试一下环境是否安装成功,新建一个项目试试。<br /> <br />这时候问题出现了,无法建立项目,当时以为是vs2008安装问题,但是我试着建立其他项目,能够成功建立。<br /> <br />还是先问问Google,果然,早有朋友遇到过这类问题,也提供方法,如下:<br /> <br /> <br />1、打开注册表编辑器<br /> <br />2、找到 H转载 2011-03-04 23:34:00 · 606 阅读 · 0 评论 -
MCISendString详细参数
<br />(注:本文以2000年七月的MSDN解释为准)MCI Command String是多媒体设备的程序接口。通过它,我们可以打开一个多媒体文件,例如mp3,VCD,Mpeg4格式的文件等等,并对它进行播放,暂停,关闭等操作。现在小弟有幸给大家介绍一下MCI Command String的使用方法。MCI Command String是通过mciExecute或mciSendString两个函数执行的。这两个函数的声明如下:Private Declare Function mciExecute Li转载 2011-02-21 14:04:00 · 1297 阅读 · 0 评论 -
C++字符串完全指引之一 —— Win32 字符编码
<br />原文出处:CodeProject:The Complete Guide to C++ Strings, Part I<br /><br />引言<br /><br /> 毫无疑问,我们都看到过像 TCHAR, std::string, BSTR 等各种各样的字符串类型,还有那些以 _tcs 开头的奇怪的宏。你也许正在盯着显示器发愁。本指引将总结引进各种字符类型的目的,展示一些简单的用法,并告诉您在必要时,如何实现各种字符串类型之间的转换。<br /> 在第一部分,我们将介绍3种字符编码类型。转载 2011-02-21 16:11:00 · 381 阅读 · 0 评论 -
CALLBACK回调函数详解
<br />凡是由你设计却由windows系统呼叫的函数,统称为callback函数。某些API函数要求以callback作为你参数之一。如SetTimer,LineDDA,EnumObjects。 回调函数是由开发者按照一定的原形进行定义的函数(每个回调函数都必须遵循这个原则来设计) 例如:---------------------------------------- BOOL CALLBACK DialogProc( HWND hwndDlg, // handle of dialog box UINT转载 2010-09-21 13:51:00 · 898 阅读 · 0 评论 -
VC中ListCtrl经验总结【转载】
<br />ListCtrl在工作中,常常用到,也常常看到大家发帖问怎么用这个控件,故总结了一下自己的使用经验,以供参考使用。<br /><br />先注明一下,这里,我们用m_listctrl来表示一个CListCtrl的类对象,然后这里我们的ListCtrl都是report形式,至于其他的如什么大图标,小图标的暂时不讲,毕竟report是大众话的使用。其次,我们这里用条款一,条款二来描述第一点,第二点,这个是参照《Effective C++》的叫法,俺觉得这么叫比较COOL :)<br /><br />原创 2010-08-27 10:44:00 · 368 阅读 · 0 评论 -
MultiByteToWideChar和WideCharToMultiByte用法详解
MultiByteToWideChar和WideCharToMultiByte用法详解//========================================================================<br />//TITLE:<br />// MultiByteToWideChar和WideCharToMultiByte用法详解<br />//AUTHOR:<br />// norains<br />//DATE:<br />// 第一版:Monday转载 2010-06-29 10:22:00 · 309 阅读 · 0 评论 -
CopyFileEx 函数
复制文件可以用 CopyFile API 函数。CopyFileEx 函数的好处是:它提供了回调函数,程序员可以向用户显示复制的过程。这里我不打算介绍回调函数的详细参数,这个可以看MSDN;我说一些MSDN中没有说明的东西。1、多久回调一次?答案是:每传输 64KB 数据回调一次;2、回调原因第一次返回:CALLBACK_STREAM_SWITCH ,以后都返回:CALLBACK_CHUNK_FINISHED第一次表示开始复制,但还没有复制。3、回调函数返回 PROGRESS_CONTINUE,表示继续复制转载 2010-07-02 17:37:00 · 761 阅读 · 1 评论 -
如何知道GetLastError()返回的错误信息
<br />如何知道GetLastError()返回的错误信息<br />www.firnow.com 时间 : 2010-06-30 作者:网络 编辑:Mr.阿布 点击: 1 [ 评论 ]<br />-<br />-<br />综合 资源 电子书 社区 如何知道GetLastError()返回的错误信息<br />你可以在winerror.h中找到错误码的符号定义,从中可以知道错误的大体含义。也可以使用FormatMessage得到该错误对应的字符串。<br /> 在转载 2010-07-05 17:17:00 · 713 阅读 · 0 评论 -
如何使用VC6编译sqlite3
(一)---------------------------------------------------------------------------------------------引言:使用VC6编译sqlite-source-3_6_22的编译方法。一.创建Win32动态链接库工程1.打开VC新建一个“Win32 Dynamic-Link Library”工程,命名为:s转载 2010-05-25 00:25:00 · 2087 阅读 · 0 评论 -
在WinCE程序开发中使用软件输入面板
简介软件输入面板(Software Input Panel,简称SIP)是每个装备了WinCE系统的移动平台的一个基本功能。它提供给用户在PDA上进行数据输入的一种手段。当谈及SIP的时候,我们一般会想到两点:一是SIP本身,二是如何在程序中使用SIP。SIP是一个实现了IInputMethod或者IInputMethod2接口的COM对象。它应该被系统调入使用,所以你不能在C#中进行SI转载 2010-05-28 09:56:00 · 517 阅读 · 1 评论 -
精解C++的switch语句
入门书籍对switch语句的介绍相对较浅,我也因此而产生了很多想当然的误解。为解惑而写了以下一小篇精解switch语句,相信会对很多朋友有所帮助,同时顺便补充一些相关知识。先抛出个题目,见下程序://原代码出自《C语言参考手册(原书第5版)》//为了表达我的意图,特做了部分改动switch(x){default:if(prime(x)){case 2: case转载 2010-05-26 11:15:00 · 579 阅读 · 0 评论 -
VS找不到MFC90d.dll错误
<br />VS 2005/VS 2008在生成可执行文件时使用了一种新的技术,该技术生成的可执行文件会伴随生成一个清单文件(manifest file)(.manifest后缀文件)(其本质上是XML文档,你可以用文本编辑器打开看看),并在链接完成后将该清单文件嵌入到exe文件中(默认情况下)。而在FAT32文件系统中,在处理清单文件阶段,当增量链接时不能完成清单文件的更新(默认情况下),于是造成清单文件嵌入失败,从而使该exe文件运行时没有相应的清单文件而运行失败并提示如上错误。 <br />解决方案很转载 2010-06-02 14:58:00 · 480 阅读 · 0 评论 -
VC++中统一修改AfxMessageBox的标题
<br />VC工程里面<br />Resource View > > String Table > > String Table > > AFX_IDS_APP_TITLE 这里面的值就是AfxMessageBox的标题内容<br />如果找不到String Table 或者找不到AFX_IDS_APP_TITLE 的话,可以在资源里(****.rc)右键-》插入String Table 然后再添加AFX_IDS_APP_TITLE项。原创 2010-07-30 15:59:00 · 880 阅读 · 0 评论 -
MFC中CBitmap的简单复制方法 (Copy CBitmap)
<br />在这里为大家提供一种CBitmap复制的方法 <br />经过自己的一层封装,就形成的非常好用的CBitmap的复制工具函数 <br />先看函数实现: <br /> <br /> <br /> HBITMAP CMyDialog::CopyBitmap(HBITMAP hSourceHbitmap){ CDC sourceDC; CDC destDC; sourceDC.CreateCompatibleDC(NULL); dest转载 2010-06-08 11:08:00 · 3277 阅读 · 0 评论 -
使用指针赋值一些需要注意的地方
<br />在指针赋值的时候,需要先释放左值当前指向的内存块(以防内存泄露),再指向新的内存块;指向新的内存块有两种情况:<br />1)开辟新空间,复制右值的指针指向的内容到左值所指向的内容,如下面的代码;<br />String & String::operate =(const String &other)<br />{<br />// (1) 检查自赋值<br />if(this == &other)<br />return *this;<br />// (2) 释放原有的内存资源<br />del原创 2010-06-09 16:59:00 · 2459 阅读 · 0 评论 -
BeginPaint和GetDC有什么区别?
<br /> <br />这是个windows编程问题。<br />第一种情况显示出来的字很正常。<br />case WM_PAINT:<br /> gdc = BeginPaint (hwnd, &ps);<br /> TextOut (gdc, 0, 0, s, strlen (s));<br /> EndPaint (hwnd, &ps);<br />break;<br />第二种情况显示的字不停闪烁。<br />case WM_PAINT转载 2010-06-11 11:01:00 · 385 阅读 · 0 评论 -
Windows CE的电源管理之一
转自http://www.cnblogs.com/jasonye/archive/2008/03/06/1040008.htmlWindows CE的基本电源管理功能 在所有版本的Windows CE操作系统中,图形、视窗和事件子系统(GWES)在电源管理方面都发挥了关键作用。这是因为早期版本的电源管理功能是由用户的活动所驱动的,而GWES负责处理所有用户的输入,如键盘、鼠标和触转载 2012-10-17 19:56:07 · 673 阅读 · 0 评论