03 2007 档案

摘要:前文我们对非MFC DLL和MFC规则DLL进行了介绍,现在开始详细分析DLL的最后一种类型――MFC扩展DLL。 6.1概论 MFC扩展DLL与MFC规则DLL的相同点在于在两种DLL的内部都可以使用MFC类库,其不同点在于MFC扩展DLL与应用程序的接口可以是MFC的。MFC扩展DLL的含义在于它是MFC的扩展,其主要功能是实现从现有MFC库类中派生出可重用的类。MFC扩展DLL使用MF... 阅读全文
posted @ 2007-03-31 10:01 拿走不谢 阅读(4375) 评论(0) 推荐(0) 编辑
摘要:ado.h,ado.cpp等是一个ado封装类 ,较容易使用,流传很广 但是在工程应用或封装为动态库时经常会出现: :error C2872: 'DataTypeEnum' : ambiguous symbol : error C2872: 'ParameterDirectionEnum' : ambiguous symbol 等类似错误,网上给出... 阅读全文
posted @ 2007-03-30 19:08 拿走不谢 阅读(3853) 评论(0) 推荐(0) 编辑
摘要:如果要编写模块化的软件,就要对对动态链接库(DLL)有一定的了解,本人这段时间在修改以前的软件时,决定把重复用的类和对话框做到DLL中,下面就从一个简单的例子讲起,如何实现MFC扩展DLL中导出类和对话框。 一、创建MFC扩展DLL 步骤: 运行Visual Studio 6.0->File->New...->Projects; 选择Mfc AppWizard(dll),在右边P... 阅读全文
posted @ 2007-03-30 17:19 拿走不谢 阅读(1787) 评论(1) 推荐(0) 编辑
摘要:虽然能用DLL实现的东西都可以用COM来实现,但DLL的优点确实不少,它更容易创建。本文将讨论如何利用MFC来创建不同类型的DLL,以及如何使用他们。一、DLL的不同类型 使用MFC可以生成两种类型的DLL:MFC扩展DLL和常规DLL。常规DLL有可以分为动态连接和静态连接。Visual C++还可以生成WIN32 DLL,但不是这里讨论的主要对象。1、MFC扩展DLL 每个DLL都有... 阅读全文
posted @ 2007-03-30 16:59 拿走不谢 阅读(547) 评论(0) 推荐(0) 编辑
摘要:一、 函数的定义和使用方法: 第一步: 运行AppWizard,定义项目名为mydll,选择MFC AppWizard(dll),而不是MFC AppWizards(exe)。 第二步: 在这个例子中,只有一个AppWizard屏幕出现,选择MFC扩展DLL(MFC Extension DLL ... 阅读全文
posted @ 2007-03-30 15:56 拿走不谢 阅读(6774) 评论(4) 推荐(0) 编辑
摘要:1、关于类指针及类指针所指向对象的删除;原以为是:CObject *pObj = new CObject();pObj->~CObject();可是实际上是delete pObj; 阅读全文
posted @ 2007-03-29 09:11 拿走不谢 阅读(276) 评论(3) 推荐(0) 编辑
摘要:1、初始化列表 如果这个CCombobox放在一个对话框类内,则不可在对话框的构造函数内来初始化combobox,可以放在对话框的OnShow事件内。2、取得当前选中的内容;得到当前选中项内容: int nIndex = GetCurSel(), GetLBText(nIndex, str);清除列表内容:ResetContent(); 阅读全文
posted @ 2007-03-26 09:04 拿走不谢 阅读(1556) 评论(0) 推荐(0) 编辑
摘要:在ADO中调用存储过程一直是一个困扰大家的问题。其实,关于ADO调用存储过程的 方法在很多书中都有讲到,标准的做法无非是按照以下步骤进行: 1、生成并初始化一个_CommandPtr对象; 2、生成调用存储过程需要的参数,这些参数都是_ParameterPtr对象; 3、按照顺序将使用_CommandPtr的Append方法为存储过程提供参数(包括输入参数 ... 阅读全文
posted @ 2007-03-23 19:00 拿走不谢 阅读(2148) 评论(0) 推荐(0) 编辑
摘要:1.h 2afx_msg void OnUpdateButtonStatus(CCmdUI* pCmdUI); 3 4.cpp 5 6BEGIN_MESSAGE_MAP(xxxx, xxxx) 7//{{AFX_MSG_MAP(CMainFrame) 8// 9ON_UPDATE_COMMAND_UI(MY_ID, OnUpdateButtonStatus) 10//}}AFX_MS... 阅读全文
posted @ 2007-03-22 16:13 拿走不谢 阅读(527) 评论(0) 推荐(0) 编辑
摘要:代码如下:// x1, y1, x2, y2为在地图中选定的两个点坐标// 分别作为要绘制矩形框的左下角和右上角两个点 x1 = 20741.798;x2 = 20739.798;y1 = 3401.866;y2 = 3409.866;pt.Set(x1, y1);pts.Add(pt);pt.Set(x1, y2);pts.Add(pt);pt.Set(x2, y2);pts.Add(pt);p... 阅读全文
posted @ 2007-03-22 12:43 拿走不谢 阅读(1231) 评论(2) 推荐(0) 编辑
摘要:如何建立一个新的图层?所建立的图层是永久的还是临时的?如何获得已有的图层对象?如何创建一个图元,并设置图元的属性?并且在图层中绘制出来? 如何建立一个新的图层?所建立的图层是永久的还是临时的?可以使用layers对象的CreateLayer方法 CreateLayer方法使您可以创建新的临时或永久Maplnfo表图层。所创建的表有一列名,用于标注和数据绑定。当要添加或更新图元时,Name属性将会放... 阅读全文
posted @ 2007-03-22 09:44 拿走不谢 阅读(4793) 评论(2) 推荐(0) 编辑
摘要:VARIANT的结构可以参考头文件VC98\Include\OAIDL.H中关于结构体tagVARIANT的定义。 对于VARIANT变量的赋值:首先给vt成员赋值,指明数据类型,再对联合结构中相同数据类型的变量赋值,举个例子: VARIANT va;int a=2001;va.vt=VT_I4;///指明整型数据va.lVal=a; ///赋值 对于不马上赋值的VARIANT,最好先... 阅读全文
posted @ 2007-03-22 09:13 拿走不谢 阅读(14527) 评论(0) 推荐(2) 编辑
摘要:如果还是按照一般vc程序一样使用ON_WM_LBUTTONDOWN()宏是不会起作用的。程序永远执行到不了你的OnLButtonDown(UINT nFlags, CPoint point) 函数内。方法是这样的:主要是要用到MapX自己定义的一套消息相关宏以下我们假设试图类的名字为:CDemoView这里我们要添加的是一个响应鼠标移动的消息处理函数1、首先在DemoView.h文件的DECLAR... 阅读全文
posted @ 2007-03-21 14:04 拿走不谢 阅读(1272) 评论(1) 推荐(0) 编辑
摘要:“你买了一本书,就像是买了一项资产,和你付钱买衣服或家具是一样的。但是就一本书来说,付钱购买的动作却不过是真正拥有这本书的前奏而已。要真正完全拥有一本书,必须把这本书变成你自己的一部分才行,而要让你成为书的一部分最好的方法--书成为你的一部分和你成为书的一部分是同一件事--就是要去写下来。”——摘自《如何阅读一本书》 2004年购于杭州枫林晚。丢在某处上蒙灰两年,终于在整理书箱的时候挖出... 阅读全文
posted @ 2007-03-12 12:27 拿走不谢 阅读(516) 评论(0) 推荐(0) 编辑
摘要:代码如下: 1 2void CMapExporter::CreateDir(CString dir) 3{ 4 DWORD dwAttr = GetFileAttributes(dir); 5 if(dwAttr==-1||(dwAttr&FILE_ATTRIBUTE_DIRECTORY)==0)//目录不存在 { 6 if(!Create... 阅读全文
posted @ 2007-03-08 16:00 拿走不谢 阅读(503) 评论(0) 推荐(0) 编辑
摘要:双网卡的配置方法 阅读全文
posted @ 2007-03-08 12:42 拿走不谢 阅读(895) 评论(0) 推荐(0) 编辑
摘要:《象艺术家一样思考》的书评大多数中国人的心中都有这样的一种情结:非常希望自己能写得一手好字。 上初中的某天的午睡前,这样的渴望一直象一个遥远的梦,不断地折磨着我,看着周围的同学练就的一手好字,我羡慕的要死,我不停地练习写毛笔字,不停地临帖,父母在一旁干着急,手上的字丝毫没有长进。有时,我觉得:恐怕这辈子,这字都只能写成这个鬼样子了。 好在,就在那天午睡后,命运眷顾了我,我练... 阅读全文
posted @ 2007-03-08 12:05 拿走不谢 阅读(271) 评论(0) 推荐(0) 编辑
摘要:因为视窗口实际上是框架窗口的子窗口,所以你必须改变框架窗口的大小,而不是改变视窗口。使用 CView 类中的 GetParentFrame() 函数获得指向框架窗口的指针,然后调用 MoveWindow() 函数来改变框架的大小。这会使变尺寸的视充满框架窗口,例如:GetParentFrame()->MoveWindow(0,0,200,200); 阅读全文
posted @ 2007-03-07 16:35 拿走不谢 阅读(649) 评论(0) 推荐(0) 编辑
摘要:关于《美狄亚 声音》的评论原文地址:http://www.douban.com/review/1130377/ 阅读全文
posted @ 2007-03-06 13:37 拿走不谢 阅读(176) 评论(0) 推荐(0) 编辑
摘要:2007年3月5日消息,Google(谷歌)在 3月 2日发布了图书搜索简体中文试用版。Google(谷歌)图书搜索试用版的首页上有专门为中文用户定制的链接 -"国学",旨在满足学者、学生或普通用户搜索古典文学和人文作品的特殊需求。除国学外,Google (谷歌)也囊括了中国合作出版商的当代书籍,供用户搜索或者在线有限阅读。 地址:http://books.google.cn 阅读全文
posted @ 2007-03-06 12:20 拿走不谢 阅读(323) 评论(0) 推荐(0) 编辑
摘要:原文地址:http://blog.sina.com.cn/u/49c804f1010006j9 从AutoCAD中精确输出图像文件 AutoCAD从R14版开始,增加了大幅面栅格图像文件的输出功能,这一新增功能的最大意义有两点:一是便于设计成果的打印输出,大部分没有大幅面打印机的朋友,将自已的DWG文件转换为普通图像文件后,可以拿到任何一台打印机上输出,而不必再要求对方的计算机上装有Auto... 阅读全文
posted @ 2007-03-06 08:14 拿走不谢 阅读(687) 评论(0) 推荐(0) 编辑
摘要:要让某个按钮处于按下状态,则调用如下代码:m_wndToolBar.GetToolBarCtrl().SetState(ID_BUTTON_XX, TBSTATE_PRESSED);要让某个按钮由按下状态改为弹起状态,则调用如下代码:m_wndToolBar.GetToolBarCtrl().SetState(ID_BUTTON_XX, TBSTATE_FLAT);m_wndToolBar... 阅读全文
posted @ 2007-03-01 10:28 拿走不谢 阅读(1494) 评论(1) 推荐(0) 编辑

点击右上角即可分享
微信分享提示