DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

随笔分类 -  VC/MFC

上一页 1 ··· 26 27 28 29 30

摘要:以前写过类似的函数,最近又用到了,简单总结一下,以备后用。1 StrToInt 此函数将编辑框中输入的字符串,如“1001”,转化为十进制数字,如1001。int StrToInt(const char* str){int num = 0;BOOL RIGHT = FALSE;if(str!=NULL){ const char* digit = str; while((* digit != '/n')) { if(*digit >= '0' && *digit <= '9') { num = num * 10 +(*d 阅读全文
posted @ 2012-06-28 20:11 DoubleLi 阅读(930) 评论(0) 推荐(0) 编辑

摘要:1 DAO简介 DAO(数据访问对象)是一种应用程序编程接口(API),存在于微软的Visual Basic中,它允许程序员请求对微软的Access数据库的访问。DAO是微软的第一个面向对象的数据库接口。DAO对象封闭了Access的Jet函数。通过Jet函数,它还可以访问其他的结构化查询语言(SQL)数据库。在VC中,它是从Visual C++4.0版开始引入的。2 DAO和ODBC的比较2.1 相似点MFC的DAO类和ODBC类有很多相似之处,主要有两点:1) 都支持对各种ODBC数据源的访问。2) 提供了功能相似的MFC类。例如DAO的CDaoDatabase类对应于ODBC的CData 阅读全文
posted @ 2012-06-28 20:08 DoubleLi 阅读(2576) 评论(0) 推荐(0) 编辑

摘要:本文介绍使用MFC DAO访问数据库的一个实例,其中实例来源于网络。实例同样实现了对数据库的基本操作:添加、修改、删除和遍历。与ODBC实例中不同的是,ODBC使用过程中添加了一个从CRecordset派生而来的CBook类,负责成员数据与数据表字段的关联,而本实例则是直接使用CDaoRecordset类。无论是使用ODBC还是DAO访问数据库都可以使用这两种方法,本实例采用后者来实现。下面就来介绍这个实例的实现细节。1) 定义数据库对象,并连接到指定数据库。// 定义成员变量 CDaoDatabase db ;// 在主对话框初始化过程中连接数据库 this->db.Open ( L& 阅读全文
posted @ 2012-06-28 20:07 DoubleLi 阅读(1621) 评论(0) 推荐(0) 编辑

摘要:欲在。EXE 中调用PRO.DLLPRO.DLL中函数如:long MenuExecute( char *, long , HWND , long , char *, long , void * );在.EXE端程序:HINSTANCE hPro= ::LoadLibrary("Pro.dll"); if(hPro == NULL){ return;}else{ typedef long (*MENU_EXECUTE)( char *, long , HWND , long , char *, long , void * ); MENU_EXECUTE mebu = NUL 阅读全文
posted @ 2012-06-28 20:01 DoubleLi 阅读(1336) 评论(0) 推荐(0) 编辑

摘要:1 在多文档多视图的MFC架构中,要想获得当前选中的CView可重写CView::OnActivateView函数,如下:void OnActivateView(BOOL bActivate, CView * pActivateView, CView * pDeactiveView) { if(bActivate){ SetEnable(TRUE);}else{ SetEnable(FALSE);} CView::OnActivateView(bActivate, pActivateView, pDeactiveView); } ... 阅读全文
posted @ 2012-06-28 19:50 DoubleLi 阅读(8212) 评论(0) 推荐(0) 编辑

摘要:xcopy $(SolutionDir)/PreBuild/Share $(SolutionDir)/Debug/ /s /e /c /yxcopy $(SolutionDir)/PreBuild/Debug $(SolutionDir)/Debug/ /s /e /c /yxcopy $(SolutionDir)/PreBuild/Release $(SolutionDir)/Release/ /s /e /c /yxcopy $(SolutionDir)/PreBuild/Share $(SolutionDir)/Release/ /s /e /c /yif $(Configuration 阅读全文
posted @ 2012-06-28 19:45 DoubleLi 阅读(888) 评论(0) 推荐(0) 编辑

摘要:对预编译头文件说明如下:所谓头文件预编译,就是把一个工程(Project)中使用的一些MFC标准头文件(如Windows.H、Afxwin.H)预先编译,以后该工程编译时,不再编译这部分头文件,仅仅使用预编译的结果。这样可以加快编译速度,节省时间。预编译头文件通过编译stdafx.cpp生成,以工程名命名,由于预编译的头文件的后缀是“pch”,所以编译结果文件是projectname.pch。编译器通过一个头文件stdafx.h来使用预编译头文件。stdafx.h这个头文件名是可以在project的编译设置里指定的。编译器认为,所有在指令#include "stdafx.h" 阅读全文
posted @ 2012-06-28 19:35 DoubleLi 阅读(232) 评论(0) 推荐(0) 编辑

摘要:使用MFC的控件时,如EDIT控件,添加变量时有两种类型:VALUE和CONTROL;两种变量的区别如下:1 VALUE是有个变量和这个控件关联,例如编辑框,你输入东西后,updatedata(),就会把输入的东西传给这个变量;2 CONTROL是建了一个控件的实例,就像类实例,可以用控件的实例来控制该控件的行为,从而使用其方法。这就是变量和类实例的区别。 阅读全文
posted @ 2012-06-28 19:23 DoubleLi 阅读(1201) 评论(0) 推荐(0) 编辑

摘要:Settimer是设置一个计时器并开始执行计时器Ontimer中的代码,Ontimer是计时器所执行的代码。KillTimer用于停止计时器。 Settimer是设置,Ontimer是响应Settimer消息的。 SetTimer函数的用法1 )用WM_TIMER来设置定时器先请看SetTimer这个API函数的原型UINT_PTR SetTimer( HWND hWnd,//和定时器相关联的窗口 UINT_PTR nIDEvent,//一个非0的数字标志这个定时器 UINT uElapse,//指定时间间隔,以毫秒为单位 TIMERPROC lpTimerFunc//... 阅读全文
posted @ 2012-06-28 19:21 DoubleLi 阅读(25113) 评论(1) 推荐(0) 编辑

摘要:void GetClientRect( LPRECT lpRect) const;作用:把CWnd客户区的客户坐标复制到lpRect指向的结构体中。返回值:如果函数成功,返回值为非零:如果函数失败,返回值为零。若想获得更多错误信息,请调用GetLastError函数。lpRect:指向RECT结构体或CRect类的指针,接受客户区的坐标。因为此坐标是相对于CWnd客户区的左上角,故总是得到(0,0,宽度,高度)。GetClientRect()得到的是客户区的矩形,不包括标题栏,外框。GetWindowRect()得到的是整个窗口的矩形。总结:相同点:GetclientRect和GetWindo 阅读全文
posted @ 2012-06-27 14:30 DoubleLi 阅读(1194) 评论(0) 推荐(0) 编辑

摘要:WM_CREATE和WM_INITDIALOG消息响应函数之区别,以及MFC应用程序中处理消息的... 在响应WM_CREATE消息响应函数的时候,对话框及子控件还未创建完成,亦是说只是通知系统说要开始创建窗口啦,这个消息响应完之后,对话框和子控件才开始创建。因此在此消息响应函数中无法对控件进行修改和初始化。 而WM_INITDIALOG消息响应函数是在程序运行时,当其对话框和子控件全部创建完毕,将要显示内容的时候发送的消息。因此可以在WM_INITDIALOG消息响应函数中添加对编辑框控件的初始化和修改。 阅读全文
posted @ 2012-06-26 11:16 DoubleLi 阅读(288) 评论(0) 推荐(0) 编辑

摘要:MFC应用程序中处理消息的顺序1.AfxWndProc() 该函数负责接收消息,找到消息所属的CWnd对象,然后调用AfxCallWndProc2.AfxCallWndProc() 该函数负责保存消息(保存的内容主要是消息标识符和消息参数)供应用程序以后使用,然后调用WindowProc()函数3.WindowProc() 该函数负责发送消息到OnWndMsg()函数,如果未被处理,则调用DefWindowProc()函数4.OnWndMsg() 该函数的功能首先按字节对消息进行排序,对于WM_COMMAND消息,调用OnCommand()消息响应函数,对于WM_NOTIFY消息调用OnNot 阅读全文
posted @ 2012-06-26 11:08 DoubleLi 阅读(312) 评论(0) 推荐(0) 编辑

摘要:1. Create 2. PreCreateWindow 3. PreSubclassWindow 4. PreTranslateMessage 5. WindowProc 6. OnCommand 7. OnNotify 8. OnChildNotify 9. DefWindowProc 10. DestroyWindow 11. PostNcDestroy CWnd作为MFC中最基本的与窗口打交道的类,完成了大部分窗口管理任务。同时提供了很多虚拟函数,这些虚拟函数在适当的地方提供了供派生类参与管理的接口。 一直以来,对这些虚拟函数的来龙去脉有所糊涂,无法明确的判断他们在什么时候调用,又缺省 阅读全文
posted @ 2012-06-26 10:42 DoubleLi 阅读(600) 评论(0) 推荐(0) 编辑

摘要:转载自IT168 [ http://www.it168.com/ ]第1页:创建ActiveX控件本文将首先介绍如何使用Visual Studio开发一个简单的ActiveX控件,然后介绍ActiveX控件开发相关的基础知识,比如方法,属性和事件等,最后介绍如何利用这些知识,实现ActiveX控件和网页页面之间的通信。MyActiveX控件的效果图简介 ActiveX是由Microsoft在90年代中期提出的一项技术。利用ActiveX技术,开发者可以创建像Java小程序applet一样的小型应 用程序。这些应用程序可以被下载然后在Microsoft的浏览器中运行。这篇文章是为那些想学习如何开 阅读全文
posted @ 2011-12-22 23:16 DoubleLi 阅读(1558) 评论(0) 推荐(0) 编辑

上一页 1 ··· 26 27 28 29 30