自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 资源 (6)
  • 收藏
  • 关注

转载 对象、类、组件、模块的联系

对象是面向对象分析时根据用例建模分析出的实体,将相同的对象进行抽象得到类。即类是对象的抽象,对象是类的实体化。组件一般是对功能相对单一或独立的代码进行重用。在整个系统的代码层次上卫浴低层...

2021-06-19 10:39:05 679

原创 QT应用隐藏启动外部应用

最近在开发的一个项目需要用QT调用Unity的应用。想到的办法就是启动Unity应用,嵌入到QT应用中。由于Unity应用加载需要时间,而且无法隐藏加载窗口(本人不熟悉unity开发)。因此采用外部调用的方式加载unity应用。一、QT 调用Unity程序CreateProcessSTARTUPINFO si; si.cb = sizeof(STARTUPINFO); si.lpReserved = NULL; si.lpDesktop = NULL; si.lp...

2020-07-02 17:12:38 1822

原创 C++模拟安卓中ARouter实现了页面路由功能

C++模拟安卓中ARouter实现了页面路由功能1、所有页面均在ViewRouter中进行创建与销毁2、ViewRouter创建一个视图路由框架ViewFrame3、ViewFrame负责页面的隐藏与显示4、ViewRouter仅维护整屏页面跳转的页面路由,页面内的子页面以及弹出窗口均由自己的页面进行跳转、显示管理5、有A页面到B页面时,A可根据当前情景和业务需求向B传递数据,...

2020-04-03 14:32:31 215

原创 mfc与js交互

1、MFC调用JS的接口约束与调用:【接口函数名】、【参数类型-string】、【返回值类型】;dlg-->create htmlview-->set到controller-->调用html接口2、JS调用MFC的接口约束与调用:【接口方法名】、【返回值类型】、【参数类型】;web触发-->CHtmlView-->Ctlr-->Dlg(如果需...

2020-02-23 17:45:36 1417

转载 C++inline函数简介

转自:https://blog.csdn.net/K346K346/article/details/52065524C++inline函数简介1.inline函数简介inline函数是由inline关键字来定义,引入inline函数的主要原因是用它替代C中复杂易错不易维护的宏函数。2.编译器对inline函数的处理办法inline对于编译器而言,在编译阶段完成对inline函数...

2018-08-20 14:43:06 219

转载 关于C++的dllexport和dllimport

dllexport和dllimport均是对C++对Dll动态库中的导出类进行处理的。在Dll中为导出类,在调用Dll工程的exe中为导入类。_declspec(dllexport)声明一个导出函数,是说这个函数要从本DLL导出。我要给别人用。一般用于dll中省掉在DEF文件中手工定义导出哪些函数的一个方法。当然,如果你的DLL里全是C++的类的话,你无法在DEF里指定导出的函数,只能用_...

2018-07-23 16:37:55 12791

转载 滚动条的自绘

转自:http://www.codeproject.com/Articles/14724/Replace-a-Window-s-Internal-Scrollbar-with-a-custoIntroductionThis is my first article. At first, I must express my thanks to CodeProject and all t

2015-04-06 17:21:05 1278 1

转载 hibernate调用mysql的存储过程

转自:http://www.cnblogs.com/liuling/archive/2013/07/29/2013-7-29-01.html在mysql中创建两个存储过程,如下:1、根据id查找某条数据:1 CREATE PROCEDURE `findEmpById`(IN id INTEGER(11))2 begin3 select * from emp

2015-04-06 15:29:37 970

转载 VC中Windows常用控件的创建和使用

转自:http://www.yesky.com/100/1832100_3.shtml

2015-04-05 08:39:04 399

转载 DestroyWindow 、PostNcDestroy

Ondestroy是销毁一些对话框非窗口资源,并通知其他对话框要进行销毁了,但并未销毁,因此,可以在该函数内销毁一些自定义的对话框以及组件。PostNcDestroy:已经销毁了对话框以及其中的资源。此处可以释放非模态对话框资源,delete this。以下内容转载:http://blog.csdn.net/whh_1218/article/details/8467954一

2015-04-02 19:53:54 2268

转载 static静态变量的理解

static静态变量的理解静态变量 类型说明符是static。静态变量属于静态存储方式,其存储空间为内存中的静态数据区(在 静态存储区内分配存储单元),该区域中的数据在整个程序的运行期间一直占用这些存储空间(在程序整个运行期间都不释放),也可以认为是其内存地址不变,直 到整个程序运行结束(相反,而auto自动变量,即动态局部变量,属于动态存储类别,占动态存储空间,函数调用结束后即释

2015-04-01 16:43:07 1346

转载 WM_DRAWITEM与DrawItem()的讨论

转自:http://blog.csdn.net/flowshell/article/details/4648800我在学习中经常遇到要重写DrawItem()的情况,但又有一个WM_DRAWITEM消息,它们是什么样的关系呢。如果我们要重写一个CButton取名为CMyButton,我们可以重写CMyButton的DrawItem()函数来实现我们的需求,但CMyButto

2015-03-11 20:59:09 631

转载 [原]client通过ActiveX与flash交互方法简介

client要与flash交互,只要使用以下3个函数:HRESULT CallFunction([in] BSTR request, [out, retval] BSTR* response);HRESULT SetReturnValue([in] BSTR returnValue);void FlashCall([in] BSTR request);CallFunction和Se

2015-01-23 14:38:43 981 1

转载 c++与c#混合编程

C#写界面比较方便,而C++则擅长写算法,所以将两者结合起来将会加快程序的开发速度,并保证程序的质量。但C#与C++的混合编程有很多细节问题需要注意,下面简要列举一些并指出相应的解决办法。       1. 将本机C++代码(指非托管C++)编译成一个dll,供C#调用,调用方法为 [DllImport(×××.dll)] 。但是这里只能从 DLL 导出函数,不能导出类(还没有测试能否导出

2014-12-17 15:59:44 3764

转载 VC远程连接MYSQL失败原因收集:mysql_real_connect()

mysql_real_connect() 试图建立到运行host 的一个MySQL 数据库引擎的一个连接。其函数原形为:   MYSQL *mysql_real_connect(MYSQL *mysql, const char *host, const char *user, const char *passwd, const char *db, unsigned int port, co

2014-12-16 15:10:09 3660 1

转载 OGRE基础教程1(下)

简介:Basic Tutorial 1最后的1/3是大段的理论,是使用Ogre开发的必备知识,但恰恰是网络上诸多译本所不涉及的范围。在这里我将使用最简练的语言向你介绍它们,当然我会砍掉部分内容,但那都是无关紧要的。本教程基于Ogre Wiki上的Basic Tutorial系列,并依据笔者使用的vs2005+sp1+OgreSDK1.4.3开发环境简化整理而来,其中穿插着笔者自己的理解。这是教程的

2014-12-03 21:32:22 493

转载 OGRE基础教程1(上)

简介:本教程基于Ogre Wiki上的Basic Tutorial系列,并依据笔者使用的vs2005+sp1+OgreSDK1.4.3开发环境简化整理而来,其中穿插着笔者自己的理解。这是教程的第一部分,也是我的学习笔记。正文:凡是翻译过几篇技术类文章的人都深知从头至尾忠实重现作者的原意是一件多么令人头疼的事情。当我从诸多曾经许诺要翻译的文章中爬出来的时候,我决定这次不做那样一个“傻子”,重

2014-12-03 21:30:14 652

转载 Android SDK更新 Connection to http://dl-ssl.google.com refused 解决方法

问题描述使用SDK Manager更新时出现问题Failed to fetch URL https://dl-ssl.google.com/android/repository/repository-6.xml, reason: Connection to https://dl-ssl.google.com refusedFailed to fetch URL http://dl-

2014-11-07 13:12:44 480

转载 [转载]INNO SETUP注册DLL文件

原文地址:SETUP注册DLL文件" style="text-decoration:none; color:rgb(49,139,146)">http://blog.sina.com.cn/s/blog_49cd68940100fekc.htmlSETUP注册DLL文件" style="text-decoration:none; color:rgb(49,139,146)">作者:FreeFo

2014-03-21 20:06:25 2115

转载 以前编写的inno setup脚本,涵盖了自定义安装界面,调用dll等等应用

; Script generated by the Inno Setup 脚本向导.; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!; 为1的时候表示定义成试用版本#define VERSION_TYPE ReadIni('Setup.ini', 'SetupType', 'type', '0'

2014-03-21 20:03:42 818

转载 IDispatch接口原理与应用

IDispatch接口原理与应用转:http://blog.csdn.net/csfreebird/article/details/463031IDispatchIDispatch接口原理与应用目录:前言:IDispatch接口的定义:创建支持IDispatch接口的COM对象:标准方式调用IDispatch接口的方法:采用ATL智能指针类调用IDi

2014-03-18 10:41:13 647

转载 自己动手编写一个VS插件(八)

作者:朱金灿来源:http://blog.csdn.net/clever101         利用业余时间继续开发一个VS插件。我要开发的插件是一个代码库插件,主要是用于积累我平时要使用的代码。在之前我已经实现了选关键代码进行网上搜索,如下图:         今天继续开发两个新功能:本地代码入库和本地代码搜索。既然是代码库,就需要有数据库。我选择存放代码的数据库...

2014-03-09 11:51:50 811

转载 自己动手编写一个VS插件(七)

作者:朱金灿来源:http://blog.csdn.net/clever101         继续开发VS插件。今天在添加ATL控件时出现一个“未能返回新代码元素”的错误,如下图:                解决办法是删除删掉ncb文件即可。      成功添加一个ATL控件后,编译工程后出现一些链接错误:1>Conne

2014-03-09 11:50:13 1047

转载 自己动手编写一个VS插件(六)

作者:朱金灿来源:http://blog.csdn.net/clever101         在上篇中我们已经实现了创建和显示一个工具栏出来,它的效果图是这样的:            现在我们实现一些简单功能,具体就是单击按钮弹出一个模式对话框或非模式对话框。插件的命令消息响应函数是: STDMETHOD(Exec)(BSTR CmdNa

2014-03-09 11:49:08 910

转载 自己动手编写一个VS插件(五)

作者:朱金灿来源:http://blog.csdn.net/clever101         继续编写VisualStudio插件。这次我编写的插件叫DevAssist(意思是开发助手)。在看了前面的文章之后你知道了一个VisualStudio插件一般是由两个工程组成的:功能dll和资源dll。首先我们先建一个功能dll——DevAssist,具体过程请参考第一篇:自己动

2014-03-09 11:45:56 1287 1

转载 自己动手编写一个VS插件(四)——创建工具栏之二

作者:朱金灿来源:http://blog.csdn.net/clever101          上次我们提到SatelliteDllName和SatelliteDllPath这两个注册表项。VS插件中所用到的资源如工具栏按钮之类的单独放在一个dll内,代码逻辑实现放在另一个dll,一般的命令惯例为代码逻辑实现的动态库为Logic.dll,资源动态库为LogicUI.dll

2014-03-06 15:10:51 842

转载 自己动手编写一个VS插件(三)——创建工具栏之一

作者:朱金灿来源:http://blog.csdn.net/clever101          让我们继续开发一个VS插件。上次我们谈论了OnConnection函数,这次我们实现如何在插件中创建一个工具栏。         首先我们要弄明白VS是如何找到我们所建的插件的。VS插件本质上是一个com组件,其信息保存在注册表里。因此VS也是通过注册表来找

2014-03-06 15:09:47 1167

转载 自己动手编写一个VS插件(二)——理解OnConnection函数

作者:朱金灿来源:http://blog.csdn.net/clever101           继续开发一个VS插件。首先认识一下通过插件向导生成的类和函数,大致弄清一下它们的含义。创建一个基于ATL的插件工程,都生成了一个CConnect类。现在我们看看CConnect类的一些重要接口: CConnect::OnConnection:这个接口可

2014-03-06 15:08:31 831

转载 自己动手编写一个VS插件(一)

作者:朱金灿来源:http://blog.csdn.net/clever101最近计划开发一个VS插件来帮助自己加快开发速度,研究了一下VS的插件开发。下面配合插图说明一下如何开发一个VS插件。  第一步:创建插件工程,具体如下图:           第二步不用干啥,如下图:       第三步:选择开发语言,这

2014-03-06 15:05:22 948

转载 依赖倒转原则

转载 依赖倒转原则3.1 依赖倒置原则的定义     依赖倒置原则(Dependence Inversion Principle,简称DIP)这个名字看着有点别扭,“依赖”还“倒置”,这到底是什么意思?依赖倒置原则的原始定义是:High level modules should not depend upon low level modules. Both should depen

2014-02-28 10:29:24 851

转载 MP3帧头格式(CBR,VBR), 附源码

转载:http://www.cnblogs.com/gansc23/archive/2010/11/27/1889537.html1.介绍这篇文章的目的是讲解MPEG音频帧头的结构(包括XING和VBRI)。并能尽快和精确地计算一个MPEG文件的播放时长。因此不会涉及到关于音频数据的编解码的相关知识。MPEG音频文件构建于layer。最常见的是MPEG-1 Layer

2014-01-23 10:56:35 1054

原创 MP3音频的解析

1、MP3文件的整体结构分为TAG_V2、Frames和TAG_V1。其中TAG_V2和TAG_V1(128字节)不一定存在。2、MP3最小的数据单元是帧:帧 = 帧头(4字节)+CRC(0或2字节)+AUDIO_DATA(由帧头信息计算得到)。通过帧头信息可获取到采样率、比特率、声道数、帧数等信息。然比较耗时但基本上不会出现问题。注意,第一帧的帧头不一定是从MP3文件的第一位开始的,

2014-01-23 10:54:21 611

转载 音频采样概念

转:http://blog.csdn.net/sepnic/article/details/6277133数码音频系统是通过将声波波形转换成一连串的二进制数据来再现原始声音的,实现这个步骤使用的设备是模/数转换器(A/D)它以每秒上万次的速率对声波进行采样,每一次采样都记录下了原始模拟声波在某一时刻的状态,称之为样本。将一串的样本连接起来,就可以描述一段声波了,把每一秒钟所采样的数目称为采

2014-01-10 10:51:55 586

转载 WAVE头分析代码

转载:http://blog.csdn.net/sshcx/article/details/1593923这篇文章是网络上流行的比较广泛的针对WAVE头分析的文章, 整体写的简单明了非常好,但是18H2int采样率(每秒样本数),表示每个通道的播放速度,应该是不对的, 如果按这个该文章的计算,WAVE头只有42

2014-01-06 10:28:49 803

原创 获取文件夹大小

//获取文件夹的大小DWORD64 CCDBurnDlg::GetFolderSize(LPCTSTR lpFileName){ CString strTemp; strTemp.Format(_T("%s"), lpFileName); strTemp += _T("\\*"); WIN32_FIND_DATA FindFileData; //获取文件属性信息 memset(&F

2013-10-29 16:24:55 1196

转载 CString转换成const char*的方法

由CString转换成const char*的方法:CString str=_T("这是我的测试程序。");// 先得到要转换为字符的长度const size_t strsize=(str.GetLength()+1)*2; // 宽字符的长度;char * pstr= new char[strsize]; //分配空间;size_t sz=0;wcstombs_

2013-10-29 11:57:48 1036

原创 获取文件属性的一些函数和结构体

在获取文件属性的时候有以下几种方式:一、使用CFileDialog类,对于选中的文件可以是通过GetPathName,GetFileName,GetFileTitle,GetFileExt函数类获取文件的全名称,文件名,标题名以及文件类型;二、使用_stat函数:struct stat st;    //stat("d:\\D ", &st);     //返回16895

2013-10-29 11:53:00 1097

转载 VS 2008 无法解析_in_, _in_opt_的错误

错误的出现是这样的:我在VS2008的一个工程中添加了WinDDK中头文件difxapi.h的引用,并在工程Properties->C/C++->Additional Include Directories中添加了difxapi.h所在的目录C:\WinDDK\7600.16385.1\inc\api\。再编译时,编译器提示错误:C:\Program Files\Micro

2013-09-11 14:09:05 800

原创 C++实现CD抓轨转WAV

作者:黄利龙      现在介绍一下C++实现CD抓轨转WAV,CD抓轨的方法有好几种,现在介绍其中一种。我们可以通过API函数CreateFile获得设备句柄,再用API函数DeviceIoControl来实现对设备的访问获取信息。再此还会用到WAVE文件结构WAVEFORMATEX,再把读到的信息写到文件里生成WAVE格式的文件。我们要用到的头文件有: ntddcdrm.h(NTD

2013-09-11 13:42:29 578

原创 数组、指针作为函数参数

指针、数组作为函数参数进行传递有两种方式:第一种使用数组指针或数组名和数组大小:    sum(int *ar, int nSize);第二种使用指针的起始地址和结束地址:    sum(int *arBeg, int *arEnd); 调用函数:void main(){    int temp[SIZE]= {0,1,0,2

2013-09-05 10:22:17 1093

GDI+图形编程

GDI+图形编程

2015-02-05

疯狂Android讲义的源码

疯狂Android讲义的源码

2015-02-05

hoverbutton

hoverbutton使用button进行了重载,实现mfc中button的美化

2015-01-14

给对话框添加菜单栏

实现给对话框添加菜单栏

2014-03-31

修改后的固定位置显示对话框

实现按钮按下后在固定位置显示模态和非模态对话框,解决wincore.cpp错误,完善了上一个资源,解决重复按下的Bug

2013-04-28

固定位置显示对话框.zip

实现固定位置显示模态对话框,解决wincore.cpp错误

2013-04-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除