
MFC
hust1900
这个作者很懒,什么都没留下…
展开
-
MFC 获得各类指针、句柄的方法
原文出处:http://blog.youkuaiyun.com/abcjennifer/article/details/7480019最近有些人在问MFC编程一些要点,有一些句柄的获取、指针的获取是常见的问题,本文将对这些问题做以解释,参考了前人的笔录(见reference),希望能够帮助大家更方便地进行MFC程序开发。 一般我们使用的框架是VC提供的Wizard生成的M转载 2013-02-28 16:20:00 · 233 阅读 · 0 评论 -
MFC文档之菜单项操作
首先弄清楚菜单命令消息路由的具体过程:当点击某个菜单项时,最先接收到这个菜单命令消息的是框架类。框架类将把接收到的这个消息交给它的子窗口,即视类,由视类首先进行处理。视类首先根据命令消息映射机制查找自身是否对此消息进行了响应,如果响应了,就调用相应的响应函数对这个消息进行处理,消息路由过程结束;如果视类没有对此命令消息作出响应,就交由文档类,文档类同样查找自身是否对这个菜单命令进行了响应,如果响应原创 2013-05-07 11:27:53 · 469 阅读 · 0 评论 -
在VC6.0环境下配置glut.h文件 .
首先,下载OpenGL类库的常用文件,配置应用环境。 Windows环境下的GLUT下载地址:(大小约为150k) http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip windows下glut的配置步骤: 1、将下载的压缩包解开,将得到5个文件 2、把解压得到的转载 2013-05-07 21:58:00 · 472 阅读 · 0 评论 -
MFC编辑框控件数据交换的方法
编辑框控件的数据交换有七种方法。通过一个简单的加法的例子来说明:第一种方法:GetDlgItem()->Get(Set)WindowText()void CMyDlg::OnButtonAdd() { // TODO: Add your control notification handler code here int num1,num2,num3; char ch1原创 2013-05-08 12:23:08 · 480 阅读 · 0 评论 -
VS2008编程工具笔记
1、给VS2008添加一个新类,在解决方案中可以查看到该类的.h和.cpp文件,却无法再类视图中显示新类,:这可能是使用版本的BUG问题,解决方法为:打开新加类的.cpp随便输入几个字符,然后即可在类视图中看到新加的类。 2、使用VS2008给类添加消息响应函数方法(和VC6.0很不一样):例如 假设给CMainWindow添加WM_RBUTTONDOWN消息响应函数,步骤如下:原创 2013-05-30 11:03:51 · 412 阅读 · 0 评论 -
CFormView类
建立一个"单文档"的工程中,用户视图的基类改为CView,在编程中就有了ondraw函数(成员函数),而在CFormView情况下就没有ondraw函数(成员函数),CFormView是CView类的派生类,在CFormView类里可以放很多控件,即“带有菜单并可以添加控件的工程”。 View必须和document一起工作,CView不能在资源编辑器中编辑,但是CFormView可以,一转载 2013-06-05 19:54:38 · 698 阅读 · 0 评论 -
CScrollBar滚动条控件
1、在对话框中拖入CScrollBar控件,并修改ID,2、在对话框的InitDialog函数中增加如下代码,完成CScrollBar的初始化. CScrollBar* pScrollBar = (CScrollBar*)GetDlgItem(IDC_SCROLLBAR_HORIZONTAL); pScrollBar->SetScrollRange(0,100);//滑块移动的位置为0转载 2013-06-18 09:36:20 · 502 阅读 · 0 评论 -
深入探讨MFC消息循环和消息泵
深入探讨MFC消息循环和消息泵 首先,应该清楚MFC的消息循环(::GetMessage,::PeekMessage),消息泵(CWinThread::PumpMessage)和MFC的消息在窗口之间的路由是两件不同的事情。在MFC的应用程序中(应用程序类基于CWinThread继承),必须要有一个消息循环,他的作用是从应用程序的消息队列中读取消息,并把它派送出去(::Dispatc转载 2013-06-18 09:43:05 · 414 阅读 · 0 评论 -
MFC定时器的应用
在计算机程序设计领域,有很多功能是周期性执行的, 如:数据采集程序,系统时间的显示等。数据采集:周期性地获得现场的物理量信息系统时间的显示:周期性地获得系统时间,并显示出来。完成上述这些功能的代码都是按照一定的时间间隔周期性地执行的,这是就需要用到一个新的组件——定时器(TIMER)。 定时器是Windows系统的资源, Visual C转载 2013-08-21 15:26:37 · 330 阅读 · 0 评论 -
MFC使用多媒体定时笔记
函数原型:MMRESULT timeSetEvent( UINT uDelay, UINT uResolution, LPTIMECALLBACK lpTimeProc, WORD dwUser, UINT fuEvent )uDelay:以毫秒指定时的周期Uresolution:以毫秒指定延时的精度,数值越小定时器事件分辨率越高。缺省值为1ms。 LpTimePr原创 2013-08-21 20:29:31 · 556 阅读 · 0 评论 -
vC中OnPaint()的工作原理
vC中OnPaint()的工作原理 用了两年的VC,其实对OnPaint的工作原理一直都是一知半解。这两天心血来潮,到BBS上到处发帖询问,总算搞清楚了,现在总结一下。 对于窗口程序,一般有个特点:窗口大部分的区域保持不变,只有不分区域需要重新绘制。如果将整个窗口全部刷新的画,就做了许多不必要的工作,因而,MFC采用了一套基于无效区的处理机制。在分析无效区处理之前,我们转载 2013-09-04 20:10:36 · 518 阅读 · 0 评论 -
文本编辑之创建光标
单文档创建光标:插入符即光标,它的创建是在窗口创建之后进行的,可以在WM_CREATE消息的响应函数OnCreate中(在创建窗口的代码之后)添加创建插入符的代码。由于MFC AppWizard生成的视图类没有OnCreate函数,所以需要手动添加(添加过程就不说了) int CDView::OnCreate(LPCREATESTRUCT lpCreateStruct) { i原创 2013-05-06 11:16:58 · 484 阅读 · 0 评论 -
多线程(使用一个实例来认识多线程编程问题)
关于多线程的概念问题,请参考http://blog.youkuaiyun.com/hust1900/article/details/8701984转载的博文。 进程和线程都是操作系统的概念。进程是应用程序的执行实例,每个进程是由私有的虚拟地址空间、代码、数据和其它各种系统资源组成,进程在运行过程中创建的资源随着进程的终止而被销毁,所使用的系统资源在进程终止时被释放或关闭。通常我们使用的软件,原创 2013-05-15 11:24:20 · 489 阅读 · 0 评论 -
局域网内检索计算机
本例实现的是检索局域网内的计算机。编程思路:首先,由于本例实现的是检索局域网内的计算机,所以首先加入网络的支持,在对框类的头文件中包含“winsock2.h”,在工程设置对话框中连接ws2_32.lib和mpr.lib.转载 2013-02-28 15:39:48 · 204 阅读 · 0 评论 -
VC++下的MSComm控件的串口编程
0 引言 随着计算机网络和多微机系统的广泛应用,接口通信技术日益成为当今一门非常重要的关键性技术。计算机与计算机以及其他设备的通信方式有串口通信,并口通信,USB通信和以太网通信等多种通信方式。尽管当今USB通信技术和以太网技术快速发展,然而串口通信技术始终以其连接简便,价格低廉,稳定可靠等优点,在计算机通信领域占有一席之地。MSComm控件是微软公司为了用户使用方便,而提供的一种转载 2013-02-28 15:44:58 · 377 阅读 · 0 评论 -
Visual C++中的日历控件使用详解
Visual C++中的日历控件使用详解文/刘涛 前言: 控件在VisualC++编程学习中占据很重要的位置。笔者在国外英文网站上看到了这篇关于日历控件学习的文章,虽然内容看似简单,但读完后感觉到还是学到了一些东西。感觉到原著作者对一些不常用的日历控制的使用方法写的介绍的很详细,通俗易懂,于平淡之中显神奇,是对日历控件的"深度挖掘",对VC的初学者应该是很有帮助的,所以就将其翻译过转载 2013-02-28 16:14:26 · 439 阅读 · 0 评论 -
halcon vc/mfc环境配置 之 halcon11
以vc6.0为例最后添加#include "HalconCpp.h"using namespace HalconCpp;转载 2013-03-17 16:51:11 · 1237 阅读 · 0 评论 -
VC多线程编程
最近一直在做一个主动监测的windows客户端,其实就在TCM项目上进行改造完成。涉及多线程编程,及线程之间通信的诸多问题。在网上搜了许多资料,觉得这篇讲的相对全面的,转载一下。一、问题的提出编写一个耗时的单线程程序: 新建一个基于对话框的应用程序SingleThread,在主对话框IDD_SINGLETHREAD_DIALOG添加一个按钮,ID为IDC_SLEEP_SIX_SE转载 2013-03-21 16:37:47 · 507 阅读 · 1 评论 -
VC++6.0中MsChart控件的用法 .
1. MSChart制图类1.1 添加MSChart控件MSChart是VC++6.0中自带的一个特殊控件类,用于绘制坐标曲线图。如果要使用这个控件,则可以按下图的示意进行添加此控件。1.2 MSChart控件的使用方法首先在要使用的类的实现文件中包含如下头文件:#include "VcPlot.h"#include "VcAxis.h"#includ转载 2013-03-21 16:45:42 · 556 阅读 · 0 评论 -
MSComm控件使用笔记
首先是对MSComm控件的理解,MSComm有好多属性,这些属性代表着Com口的设置参数。可以用对应类里的函数进行设置和读取。下边对MSComm控件的使用进行必要的说明: MSComm 控件通过串行端口传输和接收数据,为应用程序提供串行通讯功能。MSComm控件在串口编程时非常方便,程序员不必去花时间去了解较为复杂的API函数,而且在VC、VB、Delphi等语言中均可使用。转载 2013-03-21 16:49:47 · 440 阅读 · 0 评论 -
VC6.0和VS2008环境下配置halcon开发环境
VC6.01、Project菜单->Settings->Link,在Category下拉菜单下选择General,在此属性页中的Object/library modules下面添加halconcpp.lib静态库。 (主需要键入就可以了)2、 Project菜单->Settings->Link,在Category下拉菜单下选择Input,在此属性页中的Additional li原创 2013-05-02 20:34:29 · 3309 阅读 · 0 评论 -
关于MFC如何制作加密软件
由于我要使用的是老师提供好的加密算法,老师是用VS2005编写的加密函数,并把它做成了encFunc.h和encFunc.lib文件。而我是在VS2008环境下制作加密软件的,所以在加密后期程序运行过程中涉及到了一些版本不兼容问题。 第一步:在主对话框之外,新建一个注册对话框,添加相应的控件,然后为对话框添加类。步骤为:右键对话框-》添加类-》输入类名为CRegistryDialog然原创 2013-05-02 20:53:06 · 767 阅读 · 0 评论 -
关于MFC程序开机自启动问题
给主对话框添加一个新类 void SetAutoRun(bool bAutoRun)类的声明为:void CMy11Dlg::SetAutoRun(bool bAutoRun){ HKEY hKey; CString strRegPath = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run";//找到系统的原创 2013-05-02 20:59:26 · 438 阅读 · 0 评论 -
VC的MFC中重绘函数的使用总结(整理)
在刷新窗口时经常要调用重绘函数MFC提供了三个函数用于窗口重绘InvalidateRect(&Rect)Invalidate()UpdateWindow()当需要更新或者重绘窗口时,一般系统会发出两个消息WM_PAINT(通知客户区有变化)和WM_NCPAINT(通知非客户区有变化)--WM_NVPAINT系统会自己搞定--WM_PAINT消息对应的函数是OnPaint转载 2013-09-04 19:34:47 · 385 阅读 · 0 评论