vc、c++
wushuang443
这个作者很懒,什么都没留下…
展开
-
c++接口的定义与封装
可以理解为dll,so,或者单独的类,方便第三方或者其它模块代码使用,借用这个连接。原创 2023-01-28 15:43:27 · 480 阅读 · 0 评论 -
c++下接口在不同类下面调用框架设计
比如:class AudioDef这个是功能实现类,AudioDef.h里面:class CAdoFrameHandler {public: virtual void AdoFrameData(BYTE* pBuffer, long lBufferSize) = 0 ; //这就是接口,需要被继承并实现};class AudioDef{public:原创 2017-06-05 15:20:16 · 410 阅读 · 0 评论 -
关于封装一个类到dll里面
最近我在写程序的时候,有这么一个类CSkinTabCtrl,我想封装成dll,但是发现这个类的方法的调用需要用到类的对象,如果封装成dll,那外部是传不了对象的,那怎么办?就是在需要调用的地方,同样声明一个CSkinTabCtrl类,里面的函数实现就放到dll里面去实现,在dll里面实现这个类,这样在外面调用就跟正常使用该类的方法一样,调用到具体方法的时候调用dll里面的接口,就行了。大致思路是这原创 2015-01-04 11:18:36 · 1445 阅读 · 0 评论 -
vs2012下mfc程序通过ado方式使用access数据库编译的程序在xp底下无法使用解决方法
解决方案:xp上拷贝 ado目录到win7 上,备份win7 c:\program files\common files\system\ado 文件夹。然后把xp中复制过来的拷贝过去。重新编译项目,生成的程序就可以在xp 上运行了。当然你要想在win7下再次调试就需用把你刚才备份的ado文件换回去在去编译就行了,这个问题之前困扰我好久,没想到在网上找到这个方案居然就可以了,呵呵。原创 2015-05-09 11:52:22 · 791 阅读 · 0 评论 -
在MFC中从一个线程工作函数中向窗口发送消息以及窗口到窗口消息传送方法
前一段时间使用MFC写程序的时候,为了实现从一个窗口向另一个窗口发送消息,使用过下面两种方法/*方法一:通过用SDK的标准API来查找其他对话框窗口返回句柄,并且发送信息HWND hWnd; //通过SDK的FindWindow函数得到目标窗口的句柄,TriTest为目标窗口的Caption的值 if(!(hWnd = ::FindWindow(NULL,"TriTes原创 2015-05-09 16:46:47 · 2315 阅读 · 0 评论 -
c++ 循环创建目录
void CreateFileDir(CString sPath){sPath.Replace('/','\\');int nPos = sPath.Find('\\');while(nPos != -1){CreateDirectory(sPath.Left(nPos),NULL);nPos = sPath.Find('\\',nPos + 1);}}原创 2017-08-23 11:41:39 · 869 阅读 · 0 评论 -
vs2010下vc调用sqlite3数据库以及配置
对于在vs2010下,使用mfc来操作sqlite3数据库,首先要做的就是编译生成sqlite3.lib,sqlite3.dll这2个文件,sqlite3.dll这个文件在官方网站上可以下的到,官方网站:http://www.sqlite.org/download.html 。我自己写这文章的时候用的是sqlite-amalgamation-201412160020,sqlite-shell-原创 2014-12-24 10:44:45 · 5586 阅读 · 0 评论 -
mfc “strcpy”: 不能将参数 1 从“WCHAR [128]”转换为“char*解决办法
解决方案:编码问题,不要用strcpy,这个是ansi字符集下的函数,用unicode字符集下的拷贝函数wcscpy 比如:asci:strcpy(m_NotifyData.szTip, "认证系统客户端");unicode:wcscpy(m_NotifyData.szTip, L"认证系统客户端");原创 2015-06-08 16:32:31 · 4744 阅读 · 0 评论 -
关于chm文件的制作与vc调用chm文件方法
chm文件的制作,以Easy Chm工具为例说明:http://jingyan.baidu.com/album/d5a880eb7cc14813f047cc61.html?picindex=1上面这个链接有使用方法,但是我们在使用的时候,需要图文并行,这个时候可以先用一个word写好,在另存为html文件,这样图片和文字就一起在chm文件里面了。vc调用chm方法,我用的是原创 2015-06-09 14:01:52 · 996 阅读 · 0 评论 -
vc,cimage类与cbitmap对象之间的转换
转换方法:CImage nImage; nImage.Load(imgFilePath);HBITMAP hBitmap=nImage.Detach(); // 获得位图句柄 用以转换CBitmap bmp; bmp.DeleteObject(); bmp.Attach(hBitmap); // 转换为CBitmap对象第二种方法:CImage nImage; nImag原创 2015-06-09 15:36:44 · 2247 阅读 · 0 评论 -
多字节与UTF-8、Unicode之间的转换
// 多字节编码转为UTF8编码 bool MBToUTF8(vectorchar>& pu8, const char* pmb, int32 mLen) { // convert an MBCS string to widechar int32 nLen = MultiByteToWideChar(CP_ACP, 0, pmb, mLen, NULL, 0);原创 2015-07-01 14:11:22 · 2264 阅读 · 0 评论 -
vc++下 asci函数与unicode对照
strcpy_s----------------------wcscpy_sstrcat_s---------------------wcscat_satoi---------------------------_wtoi()compare----------原创 2015-07-11 12:46:58 · 449 阅读 · 0 评论 -
vc error C2664: 不能将参数 2 从“CString”转换为“LPTSTR”解决方法
error C2664: 不能将参数 2 从“CString”转换为“LPTSTR”解决方法将csting用getbuffer()转换比如:cstring a;a.Gerbuffer();我的项目里面:m_tabfirstpage.AddTab(&m_firstpage, _T(CLanguage::getString(CLanguage::SI_MainSkinUI_Fi原创 2015-06-13 15:32:53 · 3502 阅读 · 0 评论 -
LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
用VS2010编译C++项目时出现这样的错误:LNK1123: 转换到 COFF 期间失败: 文件无效或损坏方案一:(这个方法比较好,在用qt运行时出现问题也能解决)复制 C:\Windows\winsxs\x86_netfx-cvtres_for_vc_and_vb_b03f5f7f11d50a3a_6.1.7601.17514_none_ba1c770af0b2031b原创 2015-12-18 15:34:45 · 434 阅读 · 0 评论 -
duilib学习网站
https://www.cnblogs.com/Alberl/p/3343806.html这个是一个比较好的教程。原创 2019-03-05 13:52:25 · 610 阅读 · 0 评论 -
error C2660: “Gdiplus::GdiplusBase::operator new”: 函数不接受 3 个参数
//#ifdef _DEBUG//#define new DEBUG_NEW//#endif将上面三行注释掉就可以编译通过。原创 2015-06-26 15:00:08 · 1385 阅读 · 0 评论 -
vc设置焦点并起效果
在一个项目中,需要在登陆的时候将输入用户名的地方设置焦点,通过GetDlgItem(IDC_XX)->SetFocus()并不一定会达到我们需要的效果。如果我们仅仅设置了SetFocus()那是不够的,我们还需要将对话框中的OnInitDialog的最后那句return设置为"FALSE";这样就可以有效果了。原创 2015-06-25 09:07:07 · 1782 阅读 · 0 评论 -
vc里面关于"\"的用法
在vc里面,不可避免的原创 2014-09-15 17:03:44 · 758 阅读 · 0 评论 -
VS2010关于error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
这个问题,首先是我装了vs2012的原因导致。具体为啥不清楚,网上看到别人d原创 2014-10-17 14:18:45 · 757 阅读 · 0 评论 -
自己实现字符串拷贝
char * strcpy(char *dest,const char *src){ assert( dest != src); assert( dest != NULL || src != NULL); char *temp = dest; while(*dest++ = *src++); return temp;}原创 2014-11-03 09:19:54 · 769 阅读 · 0 评论 -
vs2012下开发的程序无法在xp系统下运行的解决办法
这几天刚好碰到,2012写的程序在xp系统无法运行,解决方法如下:1、安装vs2012的更新包VS2012.4.exe,这个可以去微软官方下或者百度,其实vs2012自己会弹出要你更新。2、安装之后,在项目-属性-配置-常规-有个项,palatform toolset ,选择visual studio 2012 -windows xp(v110_xp)。3、use of mfc项,选原创 2014-12-16 13:51:01 · 3882 阅读 · 0 评论 -
vs2010下解决_CRT_SECURE_NO_WARNINGS 警告
右击工程 - 属性 - 配置属性 - C/C++ - 命令行 命令行增加 /D _CRT_SECURE_NO_WARNINGS原创 2015-01-15 14:48:57 · 1881 阅读 · 0 评论 -
vs2010下debug模式下不能执行断点解决方法
关于这个问题,我是这样解决的,在工具->选项->调试->常规->要求源文件与原始版本完全匹配(Require source files to exactly mathch the original version),把这个的前面的勾取消就可以。原创 2015-01-17 11:00:47 · 2750 阅读 · 0 评论 -
vc里面进行常量数组的初始化
.h文件里面clasee A{protected:enum ReadFileStatu{ReadCurrentDirFile,ReadDeviceDirFile,ReadHistoryDirFile};typedef struct tagWatValue{ReadFileStatu rfs;int bth;}WatValue,*LPWatVa原创 2015-02-06 11:33:52 · 1604 阅读 · 0 评论 -
vc里面warning LNK4099: 未找到 PDB“sqlite3.pdb
在一个项目里面用了sqlite3数据库,因为是编译好的,只有lib和h文件。在我使用的时候,#pragma comment(lib,"../xxxxxx/sqlite3.lib") 发现这样包含是不行的,于是在解决方案的项目名称下右击 点击 属性 然后再弹出的对话框中 点击链接器 在展开的下拉单中 点击 输入 然后再左边的附加依赖项里面 添加sqlite3.lib 这样就可以了。原创 2015-02-09 10:12:05 · 964 阅读 · 0 评论 -
vc++里面调试dll程序,在dll程序里面打断点,进入dll断点的方法
今天碰到一个问题,就是我的vs2010工程里面,调用了一个vc6.0写的dll程序,我想进入dll程序里面,打断点调试下,要怎么做呢?1、将vc6.0写的程序的dsw工程用vs2010打开,会生成一个 xxxxx.vcxproj的文件,在你的vs2010的工程里面加载这个vcproj,此时在vc6.0的dll程序里面会生成xxx.sln文件,以后就可以用vs2010打开了。2、将应用程序和原创 2015-01-23 14:54:22 · 3083 阅读 · 0 评论 -
在VS2010中打开VS2012的项目
我们可以修改两个工程文件来把VS2012的工程文件一直到VS2010中去。 首先当然是修改解决方案文件(.sln文件)。 使用记事本打开,把里面的Microsoft Visual Studio Solution File, Format Version 12.00# Visual Studio 2012改成Microsoft Visual S原创 2015-05-13 15:39:23 · 708 阅读 · 0 评论 -
基类子类构造函数与析构函数调用次序
所有都是先调用基类构造函数,再调用子类构造函数析构时是先调用子类的析构函数,再调用基类的析构函数原创 2015-05-21 11:28:07 · 954 阅读 · 0 评论 -
vc里面添加WM_DEVICECHANGE消息
WM_DEVICECHANGE消息在vc里面选择不到,需要自己手动去添加进来。消息映射BEGIN_MESSAGE_MAP(CAFT_1394Dlg, CDialog)//{{AFX_MSG_MAP(CAFT_1394Dlg)ON_WM_PAINT()ON_WM_QUERYDRAGICON()...ON_WM_DEVICECHANGE()//}}AFX_MSG_MAP然后原创 2015-06-17 15:53:15 · 1715 阅读 · 0 评论 -
vc学习的一个网站链接
http://www.cppblog.com/sleepwom/archive/2010/06/29/118911.html这个链接里面有很多mfc学习的网站,代码等等。原创 2015-06-17 14:46:12 · 583 阅读 · 0 评论 -
vc 不能将参数 1 从const char [*]转换为LPCWSTR
[转]不能将参数 1 从const char [*]转换为LPCWSTR2014-10-7阅读399 评论0 [2014/10/07 0:29]其解决方案就是, 将项目->属性->配置属性->常规->项目默认值下面的字符集换为:使用多字节字符集 原因: 1.了解ANSI和Unicode编 1、ANSI(即MBCS):为多字节字符集,它是不定原创 2015-06-18 09:44:24 · 2731 阅读 · 0 评论 -
libusb+vc6.0环境下demo的编译环境搭建
第一次写博客,觉得非常有必要养成写技术博客的必要,方便后续原创 2014-07-31 09:16:14 · 3056 阅读 · 0 评论