![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MFC
文章平均质量分 63
KFPA
从事软件开发工作
展开
-
VS的运行时库(Runtime lIB)
在开发window程序是经常会遇到编译好好的程序拿到另一台机器上面无法运行的情况,这一般是由于另一台机器上面没有安装响应的运行时库导致的,那么这个与编译选项MT、MTd、MD、MDd有什么关系呢?这是msdn上面的解释:MT:mutithread,多线程库,编译器会从运行时库里面选择多线程静态连接库来解释程序中的代码,即连接LIBCMT.lib库MTd:mutithread+debug,多线程调试版转载 2016-03-16 09:54:02 · 3423 阅读 · 0 评论 -
MFC RichEdit的用法
1. 如何使用richedit添加AfxInitRichEdit();[cpp] view plain copyCxxxApp::InitInstance() { AfxInitRichEdit(); } AfxInitRichEdit()功能:装载 RichEdit 1.0 Control (RICH转载 2017-05-25 10:16:39 · 9555 阅读 · 0 评论 -
纵向编辑框的例子
#pragma once// CVertRichEdit headerclass CVertRichEdit : public CRichEditCtrl{ DECLARE_DYNAMIC(CVertRichEdit)public: CVertRichEdit(); virtual ~CVertRichEdit();protected: CFont m_Font;原创 2017-05-26 08:20:48 · 399 阅读 · 0 评论 -
RichEdit的各个版本简介
RichEdit是开发中经常使用到的控件,其版本自1.0起,历经好几年,好几次的更新,在此引用一篇介绍RichEdit版本的博文(http://blogs.msdn.com/b/murrays/archive/2006/10/14/richedit-versions.aspx),留个爪印记录下,以备查看。VersionShips ('ed) with转载 2017-05-26 08:36:09 · 1134 阅读 · 0 评论 -
VC2008下CRichEditView加载RichEdit4.1版本
在之前的文章《RichEdit 各个版本介绍》中,写到RichEdit已经到达6.0版本了,而我们经常编程使用的却还是2.0,在vc6.0中甚至还使用1.0版本,更高的版本修复了很多的bug,还提供了许多新特性,我们没有理由不去使用它们。在此介绍,在VS2008SP1中如何加载RichEdit4.1版本,甚至更高版本的也可以类似加载。原理:1.启动VS2008,新建一个基于CRichE转载 2017-05-26 09:29:52 · 658 阅读 · 0 评论 -
CTreeCtrl的用法
一 基础操作 1 插入节点1)插入根节点 [cpp] view plain copy//插入根节点 HTREEITEM hRoot; CString str=L"ROOT" hRoot=nTreeCtrl.InsertItem(str); //相当于 hRoot=nTreeCtrl.转载 2017-06-28 15:57:13 · 878 阅读 · 0 评论 -
MFC Ribbon界面设计
Ribbon是类似于office2007样式的界面,它替代了传统的MFC程序里的菜单和工具栏MFC默认生成的Ribbon功能少,需要我们自己添加一些控件和图片等元素使界面好看看下面的一个界面,是VC2010示例里的看到它与默认Ribbon样式的区别:工具自己设计,MFC提供的Ribbon控件基本都用上了;图片(位图)也是原资源没有的那到底怎么实现呢?原创 2017-06-30 10:37:00 · 982 阅读 · 0 评论 -
MFC拖拽
在日常的程序中,为了操作的方便,经常需要使用鼠标拖拽的方式把文件管理器中的文件拖拽到我们自己写的程序中,以下就简单介绍以下实现该操作的方法。 其实文件管理器的拖拽方式实现起来很简单,主要通过几个函数来实现,消息WM_DROPFILES的响应函数OnDropFiles,还有三个API函数:DragQueryFile、DragQueryPoint和DragFinish。 在启动拖拽动作原创 2017-06-21 09:57:00 · 426 阅读 · 0 评论 -
文件拖拽功能
现在有很多软件都支持拖拽功能,就是用鼠标拖着文件放到软件窗口中某个位置,软件就可以做出相应的反应。比如,Windows自带的播放软件Windows Media Player,你可以拖着一个媒体文件放到它的主窗口中,它就会开始播放这个文件。 怎么让自己的软件也有这个功能呢? 其实,并不是很难,只要让你需要有拖拽功能的控件响应WM_DROPFILES消息就行了。下面以Edit控件和转载 2017-06-21 10:02:01 · 910 阅读 · 0 评论 -
解决系统下以管理员身份运行的程序接收不到拖放文件消息[WM_DROPFILES]问题的方法
大多数程序都有接收拖放文件的功能,即是用鼠标把文件拖放到程序窗口上方,符合格式的文件就会自动被程序打开。最近自己对编写的程序增加了一个拖放文件的功能,在 Windows XP、Windows Server 2003 系统上拖放文件功能正常,而在 Windows 7 系统上拖放文件功能不管用,毫无反应。经过一番探讨,顺利解决,故对相关知识的吸收与实践整合于此。举例实证:(点击下载)转载 2017-06-21 14:11:24 · 10111 阅读 · 2 评论 -
关于CString写入文件的操作
我有一个CString 变量存的东西,想用CFile把它写入到文件中(.txt)如: CString temp = _T("ABCDE"); CFile fp; fp.Open( m_strExtPath, CFile::modeWrite|CFile::modeCreate ); fp.Write( temp.GetBuffer() , temp.GetLength() )原创 2017-03-17 14:48:31 · 8806 阅读 · 1 评论 -
非窗口消息
通常将与窗口相关的消息统称为窗口消息(区别于线程消息),但窗口消息还可以细分为窗口消息、命令消息、通知消息、反射消息。其中通知消息时从命令消息中衍生出来的。窗口消息直接针对某个窗口,它或者是由系统发送给窗口的系统事件,或者是在用户操作该窗口时产生的窗口事件。对大部分窗口消息,MFC都为其定义了默认的处理函数,并为这些处理函数规定了原型和名称。但非窗口消息(命令,通知,反射消息)就显得有些繁杂,而且一原创 2016-12-24 23:22:03 · 655 阅读 · 0 评论 -
MFC的消息映射
Windows操作系统采用消息驱动机制,即以消息来驱动应用程序的运行。如果说窗口是用户操作的接口,消息就是流过这个接口的血液。MFC的消息映射与处理机制是其精华所在,相比之下其他语言如c#、VB等提供给开发者的消息处理方式显得格外局促和僵化。 MFC中的窗口封装类CWnd为各种窗口消息定义了对应的虚拟函数(如OnkeyDown(),Onpaint()等),而一个消息处理调度函数WindowPro原创 2016-12-23 21:39:52 · 574 阅读 · 0 评论 -
Template的使用
当你骄傲的完成了一段算法代码的时候,其中很多的变量类型已经是确定下来的,也许这段代码也可以用在其他的地方,但是唯独变量的类型需要做一下改变。无性生殖的方法应该是现在很多程序员用来解决这种情况的方式。Template对这种情况作出了精妙的解答。Template有两种,一种针对function,另一种是针对class。Template Function用法我举一个简单的例子说明一下:有一个计算数值的原创 2016-03-11 15:15:37 · 697 阅读 · 0 评论 -
windows资源管理器的实现实例
Windows的资源管理器想必大家都用过,该程序的窗口一分为二,左边的窗口显示本机当前所有驱动器以及驱动器中的所有文件夹,当用户单击文件夹后,如果该文件夹下面还有子文件夹,则上层文件夹展开显示下级的文件夹;否则,右边的窗口显示选择文件夹下的文件。那么这个程序是如何实现的呢?为了说明这个问题,本实例打造了一个简易的资源管理器,它实现了Windows资源管理器的主要功能,在显示文件的属性(如文件的文件名原创 2016-10-25 11:13:25 · 6365 阅读 · 3 评论 -
SOUI创建子窗口和父子窗口通讯
SOUI中创建有窗口句柄的xml布局的子窗口 为了运用SOUI完成基本的父子窗口切换问题,同时能够利用xml文件布局窗口界面,就要用到有窗口句柄的真窗口(SOUI这么叫)。每一个使用SOUI创建的界面都是从SHostWnd派生出来的。SHostWnd本身就是一个有窗口句柄的真窗口。因此和一般的win32编程一样,用户可以简单的自己以SHostWnd.m_hWnd为父窗口创建各种真子窗口。然原创 2016-10-25 13:32:04 · 3416 阅读 · 1 评论 -
MFC中无标题栏窗口的移动
移动标准窗口是通过用鼠标单击窗口标题条来实现的,但对于没有标题条的窗口,就需要用鼠标单击窗口标题条以外区域来移动窗口。有两种方法可以达到这一目标。方法一:当窗口确定鼠标位置 时,Windows向窗口发送WM_NCHITTEST消息,可以处理该消息,使得只要鼠标在窗口内,Windows便认为鼠标在标题条上。这需要重载 CWnd类处理WM_NCHITTEST消息的OnNcHitTest函数,在函数中调用原创 2016-11-10 08:17:21 · 822 阅读 · 0 评论 -
Windows快速检索文件MFC实例
在这段时间总共是做了两个快速检索的代码,一个是win32程序,在搜来的源代码的基础上稍作改动得来的,代码较为复杂。二个是用MFC写的,主要是根据网上这方面的资料和demo进行编写的代码。以下是MFC工程的具体实现方法。 设计思路 读取磁盘全部文件\文件夹名称作为数据,根据用户输入的关键字,在数据库中模糊匹配,符合条件的连同路径一起返回给用户,方便打开文件。具体实现方法 1、读取磁盘中所有文件\原创 2016-11-10 08:24:14 · 1375 阅读 · 0 评论 -
GDI+初始化环境
如何将 GDI+ 加载到程序中呢? 第一步. 包含头文件 我们需要首先将 gdi+ 的头文件包含到我们的工程中, 这里我们可以将 #include 语句放入 atdafx.h 头文件中, 打开 atdafx.h 文件, 加入如下语句 :#include <gdiplus.h>using namespace Gdiplus;第二步. 为链接库输入库文件 在 类视图 的 项目图标 上单击鼠标右键原创 2016-11-02 09:03:07 · 615 阅读 · 0 评论 -
MFC中模态对话框详解
模态对话框在涉及GUI程序开发的过程中,常常有模态对话框以及非模态对话框的概念模态对话框:在子界面活动期间,父窗口是无法进行消息响应。独占用户输入 非模态对话框:各窗口之间不影响主要区别:非模态对话框与APP共用消息循环,不会独占用户。 模态对话框独占用户输入,其他界面无法响应在用户层的主要逻辑如下: TestDlg dlg;if (dlg.DoModal() == IDOK){原创 2016-11-21 12:03:25 · 5074 阅读 · 0 评论 -
vc编程之CRectTracker类的用法 鼠标光标(指针)不显示问题
VC静态库下CRectTracker鼠标光标(指针)不显示问题 使用CRectTracker的类后,调用下面的函数进行鼠标光标(指针)的切换BOOL CMyDlg::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) { // TODO: Add your message handler code here and/or call def原创 2017-07-19 14:43:39 · 1444 阅读 · 2 评论