VC++技术
henry_sea
还好
展开
-
CString 操作指南(转载自http://www.vckbase.com/)
原著:Joseph M. Newcomer 翻译:littleloach 原文出处:codeproject:CString Management 通过阅读本文你可以学习如何有效地使用 CString。 CString 是一种很有用的数据类型。它们很大程度上简化了MFC中的许多操作,使得MFC在做字符串操作的时候方便了很多。不管怎样,使用CString有很多特殊的技巧,特别是对于纯C背景下走出来的程序员来说有点难以学习。这篇文章就来讨论这些技巧。 使用CString可以让你对字符串的操作更加直截了当。这篇文章转载 2010-08-15 21:08:00 · 984 阅读 · 0 评论 -
WTL中使用CString的问题
<br />1. 首先要包含头文件 #include <atlmisc.h><br /> <br />未完待续原创 2011-05-13 16:08:00 · 1128 阅读 · 0 评论 -
COM中的 FAILED 和 SUCCEEDED
<br />请教一下SUCCEEDED的作用和用法,谢谢!(转)<br />这个问题第1个回答:<br /> #define SUCCEEDED(Status) ((HRESULT)(Status) >= 0) <br /><br /> Provides a generic test for success on any status value. Non-negative numbers indicate success. <br /><br />这个问题第2个回答:<br />原创 2011-03-28 19:54:00 · 1387 阅读 · 0 评论 -
vc中的工程文件说明
VC++的工程文件说明:<br />*.dsp:是VC++的项目文件,文本格式。<br />*.dsw:是工作区文件,它可以指向一个或多个.dsp文件。<br />*.clw:是 ClassWizard信息文件,实际上是INI文件的格式。<br />*.opt:工程关于开发环境的参数文件,如工具条位置等信息。<br />*.aps:(AppStudio File),资源辅助文件,二进制格式。<br />*.rc:资源文件。<br />*.plg:是编译原创 2011-05-16 09:49:00 · 672 阅读 · 0 评论 -
VC中的资源文件问题
<br />如果你的工程的资源视图中看不到工程的resource文件夹,那么可以通过以下方式解决问题:<br /> 在VC中,打开你的程序,然后单击“Project”,选择“Add To Project”,再选择“Files...”,<br />然后在打开的“Insert Files Into Project”对话框中,找到你要加到程序的rc文件即可。原创 2011-05-16 09:52:00 · 844 阅读 · 0 评论 -
用VC写DLL中"error LNK2005: _DllMain@12 already defined"的解决办法
<br />可以使用 STL的string。 <br />#include <string> <br />using namespace std;<br /><br />但肯定不如CString功能强大,其实在非MFC程序中使用CString,也是可以的,具体方法如下:<br /><br /> 为了使用CString类,首先源文件必须是以cpp结尾的,这是因为vc默认对不同的扩展名采用不同的编译方法和错误检查,mfc的支持文件Afx.h只有由cpp为扩展名的文件包含才能转载 2011-05-18 09:47:00 · 830 阅读 · 0 评论 -
error C2664的解决方法
错误信息:E:/Work/1.9SP1/ginfo/client/src/skdevice/USBPhone.cpp(245) : error C2664: 'SetWindowTextW' : cannot convert parameter 2 from 'char [600]' to 'const unsigned short *' Types pointed to are unrelated; conversion requires reinterpret_cast, C-styl原创 2011-05-17 09:25:00 · 12369 阅读 · 0 评论 -
调试
<br />调试是一个程序员最基本的技能,其重要性甚至超过学习一门语言。不会调试的程序员就意味着他即使会一门语言,却不能编制出任何好的软件。 <br /> 这里我简要的根据自己的经验列出调试中比较常用的技巧,希望对大家有用。本文约定,在选择菜单时,通过/表示分级菜单,例如File/Open表示顶级菜单File的子菜单open。 <br /><br />1 设置 <br /> 为了调试一个程序,首先必须使程序中包含调试信息。一般情况下,一个从AppWizard创建的工程中包含的Debug原创 2011-05-18 09:36:00 · 602 阅读 · 0 评论 -
VC++6.0的使用
<br />主要是为了解决VC++6.0使用过程中的问题,以后遇到难解决的问题,也会再次更新此列表<br />Visual C++开发工具功能非常强大,但是对于初学者来说,却有很多细节的问题需要注意。 <br /><br /> 1:使用vc开发项目时,常会遇到这种情况: <br /> 即明明只改动了一个文件,却要把整个项目全部重新编译连接一次。刚刚连接好,一运行,又提示重新编译连接一次,非常讨厌。这是因为出现了未来文件的缘故。 <br /> 解决方法: <br /> 找出转载 2011-04-11 08:33:00 · 2742 阅读 · 0 评论 -
error C2601: local function definitions are illegal?
<br /> error C2601: 'GetDocument ' : local function definitions are illegal <br /> <br />在这个错误前后少了个 { 或者 }导致原创 2011-04-19 16:15:00 · 21064 阅读 · 0 评论 -
一个问题---分步执行,却没有发挥作用的代码
<br />举例:<br />1.下面的是一个图片控件类的初始化函数,这个图片控件类放在一个基础库中去...假设是A工程(实际上功能就是一个源文件保存的文件夹)<br /> <br />CPictureCtrl::CPictureCtrl(){ m_lpszImagePath = NULL; m_bDefaultPic = TRUE; m_ExtendType = GRID_EXTEND_NULL;}<br /> <br />2. 下面是在另外的一个工程(假设是B工程)原创 2011-03-28 10:33:00 · 586 阅读 · 0 评论 -
关于指针错误的问题
<br />最近在程序中遇到指针所调用的函数不是写的函数,如程序执行到 p -> SetName(),指针p调用的不是SetName(),而是其他的函数或者不是我想要的某个类中的SetName().这种错误一般是堆栈的错误,现在发现引起这个错误的两个原因如下:<br /> <br />1. 链接引起的,把所在的工程和相关联的工程clean后,重新编译就可以解决。<br /> <br />2.指针的强制转换引起的,比如 p想调用A类的这个SetName(),但 p 现在确是 B类的指针,这样就会出现错误。指针原创 2011-03-27 14:15:00 · 543 阅读 · 0 评论 -
error C2065的解决办法
--------------------Configuration: DeviceDemo - Win32 Debug--------------------Compiling...DeviceDlg.cppc:/users/henry/desktop/devicedemo/devicedlg.h(17) : error C2065: 'IDD_DEVICE' : undeclared identifierc:/users/henry/desktop/devicedemo/devicedlg原创 2011-05-13 11:34:00 · 42625 阅读 · 0 评论 -
Cstring和SYSTEMTIME两种类型之间的转换
源代码(WTL实现)StringToDate.rar 这篇文章主要讲述了如题两者之间的转换问题,主要从以下几点讲述: 首先,必须了解两个函数 _stscanf 和 _stprintf。其次,是如何将获得的字符串转换成日期格式。再次,是如何把日期格式的再变回字符串,输出。 1、_stscanf 和 _stprintf1.1 在Microsoft Visual Studio/VC98/Include/TCHAR.H这里面可以找到关于这两个函数的定义:原创 2010-08-16 21:50:00 · 13555 阅读 · 3 评论 -
如何从CString类型的字符串中取出数字
问题由来:今天遇到了这样一个问题,有一个CString类型的字符串,其中有一个数字,如何让这个数字+1后,再写回到CString中,并且输出废话少说,直接上结果,然后分析代码如下: LRESULT CMainDlg::OnOK(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/){ // TODO: Add validation code CString strDat原创 2010-08-20 19:45:00 · 12446 阅读 · 1 评论 -
VC++工程的文件类型
Visual C++作为一种程序设计语言,它同时也是一个集成开发工具,提供了软件代码自动生成和可视化的资源编辑功能。在使用Visual C++开发应用程序的过程中,系统为我们生成了大量的各种类型的文件,下面将要详细介绍Visual C++中这些不同类型的文件分别起到什么样的作用,在此基础上对Visual C++如何管理应用程序所用到的各种文件有一个全面的认识。 1.扩展名为dsw的文件类型,这种类型的文件在VC中是级别最高的,称为Workspace文件。在VC中,应用程序是以Project的形式存在的,P转载 2010-12-01 07:28:00 · 1776 阅读 · 0 评论 -
Extern 的问题 && error LNK2001: unresolved external symbol "class WTL::CAppModule _Module" (?_Module@@3VCAppModule@WTL@@A)
Re: Mike Dunn's tutorial --- In wtl@yahoogroups.com, luther baker wrote:>> I am walking through this tutorial in visual studio 2008.>> http://www.codeproject.com/KB/wtl/wtl4mfc2.aspx>> I am about half way down and per the tutorial, I have im原创 2011-02-15 10:47:00 · 3045 阅读 · 0 评论 -
我曾经遇到的Link2001的错误
1.错误现象: Linking... LINK : warning LNK4075: ignoring /EDITANDCONTINUE due to /INCREMENTAL:NO specification Creating library skexcel___Win32_Release/skexcel.lib and object skexcel___Win32_Release/skexcel.exp SK_Excel.obj : error LNK2001: unresol原创 2011-02-16 10:05:00 · 1088 阅读 · 0 评论 -
Csting 转 LPCSTR 造成的错误现象和解决方法
<br />1. 现象:<br />Compiling...<br />ExcelText.cpp<br />D:/MyWork/ginfo/client/src/skexcel/ExcelText.cpp(240) : error C2440: 'return' : cannot convert from 'class WTL::CString' to 'const char *'<br /> No user-defined-conversion operator availab原创 2011-02-16 11:04:00 · 1155 阅读 · 0 评论 -
一个比较奇怪的问题(从头文件,利用ALT + O 跳到CPP文件,不是所在工程的CPP)
<br />问题出现时的环境:<br /> <br />1. 首先跳到的是我的测试代码<br />2. 我做了如下操作导致:(VC++ 6.0)<br /> 2.1 在工程中添加一个新类<br /> 2.2 从测试工程中拷贝类的内容过来(一模一样)<br /> 2.3 调试的时候出现该问题<br />3. 具体什么原因不是很清楚:<br /> 我的推断,VC中的环境配置文件导致...这个类先于新建的类,又是同名...然后,VC直接找到,不再查找<br />4. 解决办原创 2011-02-16 11:23:00 · 828 阅读 · 0 评论 -
Excel工程的项目总结
1.遇到的问题1.1 在这里首先遇到了变量的生命周期问题。我记得曾经有个错误是Excel不能连续导出两次,是因为我的一个对象的成员变量没有清空 一个类的成员变量一定要在这个对象销毁的时候才会做清空。我却把清空数据的东西放到了析构函数中,从而早成了错误。 CExcelText::~CExcelText()//析构函数 { CloseXls(); } 其实解决这个问题, 1. 要么使用 new,比如 CExcelText* p =原创 2011-02-24 13:31:00 · 989 阅读 · 0 评论 -
fatal error C1010: unexpected end of file while looking for precompiled header directive
<br />在编译VC++6.0是,出现fatal error C1010: unexpected end of file while looking for precompiled header directive <br />的错误.<br />解决方法:<br />1、如果发生错误的文件是由其他的C代码文件添加进入当前工程而引起的,则Alt+F7进入当前工程的 Settings,选择C/C++选项卡,从Category组合框中选中Precompiled Headers,选择Not Using原创 2011-03-18 20:37:00 · 531 阅读 · 0 评论 -
模态对话框和非模态对话框的在关于消息处理方面的区别
Windows是一个巨大的消息驱动结构,由用户发出消息,系统响应处理。windows的消息机制:Windows是一种面向对象的体系结构,Windows环境和应用程序都是通过消息来交互的。Windows应用程序开始执行后,Windows为该程序创建一个"消息队列(message q原创 2011-07-21 14:38:38 · 3157 阅读 · 0 评论