
2.1 VC++/MFC
文章平均质量分 84
无幻
这个作者很懒,什么都没留下…
展开
-
Visual C++ 设置适合自己的解决方案目录结构
Visual C++ 使用解决方案来管理项目,项目之间还可能有依赖关系,设置适合自己的解决方案目录结构,便于代码的管理、程序的发布。下面开始一个虚拟解决方案设计: 假设此解决方案有应用程序项目A,动态链接库项目B,静态链接库项目C,其中项目A依赖项目B和项目C,则构建解决方案项目结构如下图所示:而目录结构则如下图所示:Bin:存放所有动态链接库和可执行程序,分原创 2012-01-10 14:35:35 · 15889 阅读 · 7 评论 -
两种方法查看MFC源代码
两种方法查看MFC源代码,使用mfc.bsc和VAX插件原创 2010-12-18 23:59:00 · 21830 阅读 · 1 评论 -
VC++2005快速构建安全的应用程序
本文针对微软的Visual C++2005发布版本中语言和库的一些新的特点进行了讨论,这将帮助你更高效地创作安全、可靠的代码。转载 2010-08-09 09:59:00 · 1638 阅读 · 0 评论 -
学习VC MFC开发必须了解的常用宏和指令
学习VC MFC开发必须了解的常用宏和指令转载 2010-06-07 23:37:00 · 2681 阅读 · 0 评论 -
VC中TRACE ASSERT VERIFY之用法
调试宏:ASSERT()、VERIFY()、TRACE() 的使用介绍等等转载 2010-06-07 23:08:00 · 2315 阅读 · 0 评论 -
SDK中SendMessage与PostMessage消息的不同
在MSDN上的定义如上,顾名思义,send有“发送”而post有“邮寄“的意思。我们可以这样子理解,send就是直接传递消息,而post是送到某个中介,然后让中介完成传递消息。既然send是直接发送的,那么它就不进入队列。原创 2010-06-02 22:16:00 · 2132 阅读 · 2 评论 -
VC文档"最近使用的文档"列表LoadStdProfileSettings
在文档/视图中,打开菜单旁边的”最近使用列表“可以列出最近使用的文档名称,这对于加快程序的处理文档速度。在VC2008SP1中的效果如下:我们只要在应用程序类的InitInstance函数中调用LoadStdProfileSettings()即可,函数原型如下:void LoadStdProfileSettings( UINT nMaxMRU原创 2010-05-25 18:53:00 · 3636 阅读 · 0 评论 -
vc2008下的对应vc6.0的Components and controls
vc6.0和vc2008界面上有些不同的地方,比如“Components and controls”就换地方了..................在vc6.0的位置,菜单 Project -> Add to Project -> Components and controls…在vc2008的位置,右侧“工具箱”,右键点击“选择项”即可。原创 2010-05-21 16:17:00 · 5371 阅读 · 1 评论 -
在MFC中用WriteProfileInt等方法保存应用程序配置
0.简介CWinApp类中提供了一组用于读写应用程序配置的方法:GetProfileIntWriteProfileIntGetProfileStringWriteProfileString可方便的用于读写应用程序配置。1.关于CWinApp::SetRegistryKey方法用VC++的向导建立MFC项目之后,在InitInstance中可以看到这样的语转载 2010-05-15 13:46:00 · 4424 阅读 · 0 评论 -
VC取目录(包括子目录)下所有文件名
VC取目录(包括子目录)下所有文件名转载 2010-07-07 23:17:00 · 4775 阅读 · 0 评论 -
MFC Shell文件操作SHFileOperation
外壳函数(Shell)--------SHFileOperation Copies, moves, renames, or deletes a file system object.文件复制、移动、重命名或者删除int SHFileOperation( __in LPSHFILEOPSTRUCT lpFileOp);其参数lpFileOp是一个指向S原创 2010-05-04 13:16:00 · 4562 阅读 · 0 评论 -
CString常用方法
CString::Compare int Compare( LPCTSTR lpsz ) const;返回值 字符串一样 返回0 小于lpsz 返回 -1 大于lpsz 返回1 区分大小字转载 2010-05-03 13:57:00 · 13279 阅读 · 0 评论 -
VC基于文档视图打开/保存对话框的重载
有时候我们需要指定单文档/多文档的“打开”或“保存”对话框的文件类型来过滤不需要的类型。我们可以重载它们,具体它们的消息默认响应可以看这里MFC浅析(1) 文档视图结构中,缺省的命令处理。原创 2010-06-26 23:23:00 · 4438 阅读 · 1 评论 -
公共对话框——OPENFILENAME结构
OPENFILENAME结构包含了GetOpenFileName和GetSaveFileName函数用来初始化打开或另存为对话框的信息。在用户关闭对话框后,系统返回关于用户的选择信息到这个结构中。转载 2010-06-26 22:16:00 · 4811 阅读 · 0 评论 -
RichEdit 各个版本介绍
RichEdit是开发中经常使用到的控件,其版本自1.0起,历经好几年,好几次的更新,在此引用一篇介绍RichEdit版本的博文(http://blogs.msdn.com/b/murrays/archive/2006/10/14/richedit-versions.aspx),翻译 2011-07-14 16:04:11 · 12812 阅读 · 1 评论 -
MSDN对ToolTip的介绍
TooltipThis section contains information about the programming elements used with tooltip controls.本节包含工具提示控件使用的编程元素的信息。Overviews翻译 2011-08-19 14:04:10 · 7008 阅读 · 0 评论 -
VC2008以资源形式实现多语言版本
越来越多的程序支持多语言切换,或者能自动适应当前系统语言,让自己开发的程序支持多语言不仅可以让自己的程序被国人使用,也能让外国程序爱好者使用。VC开发多语言程序有多种方法,或读取配置文件,或使用不同资源DLL等等。这里介绍以资源形式实现多语言版本。1.打开Visual Studio 2008,新建一个基于对话框工程,名称为LanguageTest,不使用Unicode库 ,资源语言一共有十原创 2011-04-13 21:34:00 · 19383 阅读 · 8 评论 -
VC复制HTML格式到剪贴板 HTML Clipboard Format
本文作者:无幻测试环境:Windows 7开发环境:Visual Studio 2008 SP1 参照MSDN和帮助,在VC下测试代码如下:C++语言: BOOL CBaseDialogDlg::CopyHtmlToClip( const CString &strHtml ){ // 1)转换成UTF-8 CW2A pszU8(原创 2012-06-03 01:27:11 · 6760 阅读 · 0 评论 -
对CBitmapButton的扩展
很久以前的一篇文章《VC 位图按钮CBitmapButton的使用》,里面用定时器对位图按钮进行移进移出的效果进行显示,不大好。在这里用鼠标事件进行捕获显示,另加一个函数LoadListBitmap实现对连续的资源图片进行截取。代码如下:010203040506070809101112131415161原创 2012-05-07 16:34:32 · 9666 阅读 · 15 评论 -
VC 位图按钮CBitmapButton的使用
系统环境:Windows 7软件环境:Visual C++ 2008 SP1本次目的:使用位图按钮,并且设置按钮的鼠标悬停效果 在用MFC开发时,界面是比较不好开发的一块。VC中自带了CBitmapButton类,但是用途不多,网上很多Button类的派生类蛮实用的,但是若是简单的位图按钮用自带的CBitmapButton就可以实现了,以下是效果图:步骤一:新建基于对原创 2009-12-06 16:39:00 · 47298 阅读 · 25 评论 -
gSOAP在VC2008中的使用
gSOAP工具包是一个提供SOAP/XML Web services和通用(non-SOAP) C/C++ XML数据绑定的开源C/C++软件开发工具包。 从http://sourceforge.net/projects/gsoap2/files/下载最新的gSOAP包,当前最新版本为2.8.8。解压之后,在目录"\gsoap-2.8\gsoap\bin\win32"下有两个文件,分原创 2012-04-06 11:11:38 · 8716 阅读 · 2 评论 -
使用CRichEditCtrl与正则实现XML高亮编辑器
最近与XML打交道比较多,为了便于XML格式内容在界面上的编辑,结合正则写了这个简单的XML高亮编辑器,因为是全文解析的,遇到大文件XML时,会慢一些。代码里所使用的正则库是deelx,也可以换成其他的正则库。派生自CRichEditCtrl的类CKofXMLRichEditCtrl,代码如下:010203040506070809原创 2012-03-22 18:28:44 · 4158 阅读 · 1 评论 -
VC中的字符串转换宏
ATL7.0引入了几个新的转换类和宏,现有的宏提供了显着的改善。新的字符串转换类和宏的名称,采取的形式如下:C SourceType 2[C]DestinationType[EX] 其中,[C]表示目的类型是const类型的,[EX]表示指定了保存字符串数据的固定静态缓存区的大小,如果字符串转换的结果超过了模板参数的大小,使用malloc分配原创 2012-03-26 23:59:30 · 8142 阅读 · 0 评论 -
捕获CHtmlView的滚动条事件
对CHtmlView滚动条事件进行捕捉,需要通过接收器接口,来接收HTML事件。以下测试示例,不能用于WEB标准的页面,否则取不到值。另一点,当页面刷新后,接收器将失效,试过重新挂接,报错,特定情况下不需要刷新的话,就用屏蔽页面刷新的方法。1.新建基于CHtmlView的多文档程序,名称:TestHtmlView;2.在"项目"菜单上选择"添加类"。在"添加类对话框",选择"MFC 类"。原创 2012-03-03 16:33:27 · 3798 阅读 · 9 评论 -
VC2008下使用OpenSSL 1.0.0g(免编译)
OpenSSL整个软件包大概可以分成三个主要的功能部分:密码算法库、SSL协议库以及应用程序。官网:http://www.openssl.org/OpenSSL for Windows:http://www.slproweb.com/products/Win32OpenSSL.html在这里,我使用已编译好的OpenSSL库(上面第二个网址下载),安装过程如下:安装过程中,原创 2012-02-08 11:24:56 · 15572 阅读 · 3 评论 -
DragAcceptFiles 拖放文件到多文档框架上
以多文档为例:1.在应用程序类App的InitInstance()函数后面,添加以下代码:1m_pMainWnd->DragAcceptFiles(TRUE); 2.响应主框架类CMainFrame的WM_DROPFILES消息,添加如下代码:01020304050607原创 2012-01-17 00:10:41 · 6040 阅读 · 0 评论 -
VC RichEdit插入表格(RTF形式)
我们知道RichEdit中可以打开并显示RTF文档,要实现在RichEdit中插入表格可以使用OLE方式外,还可以使用RTF 方式。关于RTF格式规范可在微软下载中心下载到,例如1.7版本下载地址:http://www.microsoft.com/download/en/details.aspx?id=22699,详细介绍了关于RTF的规范。另外,网上有《RTF文件格式规范 v1.7》全文翻译原创 2011-10-30 03:01:39 · 11879 阅读 · 7 评论 -
VC2008下CRichEditView加载RichEdit4.1版本
在之前的文章《RichEdit 各个版本介绍》中,写到RichEdit已经到达6.0版本了,而我们经常编程使用的却还是2.0,在vc6.0中甚至还使用1.0版本,更高的版本修复了很多的bug,还提供了许多新特性,我们没有理由不去使用它们。在此介绍,在VS2008SP1中如何加载RichEdit4.1版本,甚至更高版本的也可以类似加载。原理:1.启动VS2008,新建一个基于CRichEdi原创 2011-07-15 00:21:06 · 8013 阅读 · 4 评论 -
Tooltip工具提示控件的使用
如何为一个控件创建一个工具提示控件How to Create a Tooltip for a Control1.创建一个基于对话框的工程TestToolTip;2.在对话框实现文件写入以下代码:01020304050607原创 2011-08-19 00:10:46 · 26153 阅读 · 18 评论 -
MFC消息顺序
1.AfxWndProc() 该函数负责接收消息,找到消息所属的CWnd对象,然后调用AfxCallWndProc 2.AfxCallWndProc() 该函数负责保存消息(保存的内容主要是消息标识符和消息参数)供应用程序以后使用,然后调用WindowProc()函数 3.WindowProc() 该函数负责发送消息到OnWndMsg()函数,如果未被处理转载 2010-04-23 08:30:00 · 2482 阅读 · 0 评论 -
取得文件夹内容信息
翻译自MSDN 2005 -> Win32和 COM 开发 -> User Interface -> WindowsUser Experience -> Windows Shell ->Shell Programmers Guide -> Shell Basics-> Shell Basics: Programming the Shell-> Getting Inform转载 2010-04-15 23:03:00 · 3821 阅读 · 0 评论 -
Windows Shell提取媒体信息
这个Project有三个有趣而可以参考的地方:使用COM接口操作Windows Shell,并提取多媒体文件的标签信息编写Dll,并提供对DLL中的类显示调用的支持最小化编译时的依赖,即正确地使用#include、理清C/CPP文件和H文件的关系为了照顾这个Project研究的逻辑思考过程,将这三点按上述顺序排列,虽然我觉得后面的更好玩一点。Moreover, the转载 2010-04-15 22:50:00 · 4202 阅读 · 0 评论 -
VC 为静态控件添加事件
操作系统:Windows 7软件环境:Visual C++ 2008 SP1本次目的:为静态控件添加事件,如:STATIC、Picture Control等等 有时候我们找到一个图片,为对话框背景添加了图片,我们需要在某个位置令其可以单击,如下两图所示:首先:修改静态控件属性Notify为True,修改控件ID号,一定要修改,在这里我改为IDC_RIGHT原创 2009-11-27 13:05:00 · 3580 阅读 · 3 评论 -
VC个性化窗口界面设计
在VC下有时需要制作个性化的窗口界面,用界面库又比较繁琐,而且有些界面库还必须收费才能使用,这里我提供一个简单且有效的制作个性化界面的方法。 由AppWizard向导生成一个基于对话框的应用程序框架,把对话框模板的Border属性改为none,也就是没有边框和标题栏。从CDialog派生一个类,命名为CCustomDlg。首先我们要建立不规则窗口的界面,要用到以下函转载 2010-01-26 21:46:00 · 5500 阅读 · 4 评论 -
VC 无标题栏对话框移动
操作系统:Windows 7软件环境:Visual C++ 2008 SP1本次目的:实现无框移动 所谓的无标题栏对话框,是基于对话框的工程,对话框属性Border设置为None,对话框如下所示:为对话框添加左键点击事件,代码如下:void CPlayerDlg::OnLButtonDown(UINT nFlags, CPoint point){ //原创 2009-11-27 12:51:00 · 3978 阅读 · 2 评论 -
VC2008 Windows Media Player控件的使用技巧
操作系统:Windows 7软件环境:Visual C++ 2008 SP1本次目的:在VC2008或者VC2005下Windows Media Player控件的用法 折腾了好久,才发现一些光明。在VC6.0下Windows Media Player控件的用法与VC2003、VC2005、VC2008的用法不一样,这里我就不介绍VC6.0下的用法了,具体我在这里以VC200原创 2009-11-29 14:22:00 · 33826 阅读 · 90 评论 -
Richedit使用技巧
一.常见问题a.可以编译,不能执行的AfxInitRichEdit(); b.升级默认的Riched版本(默认的有一些bug),如可在InitInstance中添加LoadLibrary("RICHED20.DLL") 最后注意 FreeLibrary 如果是CRichEditView基类的可用BOOL CXXXXXXView::PreCr转载 2010-01-17 12:30:00 · 3498 阅读 · 2 评论 -
VC常用数据类型使用转换
本文转载自别人博客,将介绍一些常用数据类型的使用。我们先定义一些常见类型变量借以说明int i = 100;long l = 2001;float f=300.2;double d=12345.119;char username[]="赵三";char temp[200];char *buf;CString str;_variant_t v1转载 2009-11-09 13:49:00 · 1774 阅读 · 0 评论 -
CComboBox使用技巧
CComboBox使用技巧: 1. CComboBox风格 CBS_AUTOHSCROLL //自动水平滚动条CBS_DISABLENOSCROLL //选中时始终显示滚动条CBS_DROPDOWN //下拉式CBS_DROPDOWNLIST //下拉列表CBS_HASSTRINGS转载 2009-11-09 10:30:00 · 6861 阅读 · 1 评论 -
获得MFC窗口其它类指针的方法
访问应用程序的其它类,本文转自其他博客获得CWinApp:-在CMainFrame,CChildFrame,CDocument,CView中直接调用AfxGetApp()或用theApp-在其它类中只能用AfxGetApp()获得CMainFrame:-在CMinApp中用AfxGetMainWnd()或者m_pMainWnd转载 2009-11-07 13:04:00 · 3830 阅读 · 0 评论