当前位置:首页 » 服务器技术
开发技术指南» 文章正文
    引言: 动态创建就是运行时创建指定类的对象,在MFC中大量使用。
 

 

 ·c#.net常用函数和方法集    »显示摘要«
    摘要:1、datetime 数字型 system.datetime currenttime=new system.datetime(); 1.1 取当前年月日时分秒 currenttime=system.datetime.now; 1.2 取当前年 int 年=currenttime.year; 1.3 取当前月 int 月=currenttime.month; 1.4 取当前日 int 日=curre......
 ·如何在c++builder中检测硬件    »显示摘要«
    摘要:在我们编写的程序中常常要和硬件打交道,那么如何在程序中确定系统中是否有该 设备,它的运行状态又是怎样的呢?对于初学者来说,这个问题常常不好解决,其实只需简单地利用几个api函数,硬件的问题并不神秘。下面就让我们一起看看在c++ build er中是如何检测硬件的。 1. 检测cpu的型号 先让我们从最简单的做起,看一看自己的cpu型号。首先,在c++ builder中画 出图1所示的窗体,在下......


MFC的关键技术:动态创建
动态创建就是运行时创建指定类的对象,在mfc中大量使用.如框架窗口对象.视对象,还有文档对象都需要由文档模板类对象来动态的创建.

但mfc不给我们这个机会,致使我们错觉窗口没有实例化就弹出来了!就象画了张电视机的电路图就可以看电视一样令人难以置信.但大伙想了一下,可能会一拍脑门,认为简单不过:mfc自动帮我们完成cview myview之流的代码不就行了么!!!其实不然,写mfc程序的时候,我们几乎要对每个大类进行派生改写.换句话说,mfc并不知道我们打算怎样去改写这些类,当然也不打算全部为我们“静态”创建这些类了.即使静态了创建这些类也没有用,因为我们从来也不会直接利用这些类的实例干什么事情.我们只知道,想做什么事情就往各大类里塞,不管什么变量.方法照塞,塞完之后,我们似乎并未实例化对象,程序就可以运行! 【程序编程相关:制造行业存储整合方案:东运公司从DAS到

初次接触mfc的时候,很容易有这样的迷惘.mfc的几大类不用我们设计也就罢了,但最疑惑的是不用我们实例化对象.本来最直观的理解就是,我们需要框架的时候,亲手写上cframewnd myframe;需要视的时候,亲自打上cview myview;…… 【推荐阅读:iSCSI与各类型存储方案综合评比

struct cruntimeclass{ 【扩展信息:DASD是什么?

要做到把自己的类交给mfc,mfc就用同一样的方法,把不同的类一一准确创建,我们要做些什么事情呢?同样地,我们要建立链表,记录各类的关键信息,在动态创建的时候找出这些信息,就象上一节rtti那样!我们可以设计一个类:

 lpcstr m_lpszclassname; //类名指针

 cobject* (pascal *m_pfncreateobject)(); //创建对象的函数的指针

 cruntimeclass* m_pbaseclass; //讲rtti时介绍过

 cruntimeclass* m_pnextclass; //指向链表的下一个元素(许没有这个指针,这个链表是无法连起来,而m_pbaseclass仅仅是向基类走,在mfc的树型层次结构中m_pbaseclass是不能遍历的)

 cobject* createobject(); //创建对象

 static cruntimeclass* pascal load(); //遍历整个类型链表,返回符合动态创建的对象.

 static cruntimeclass* pfirstclass; //类型链表的头指针

};

一下子往结构里面塞了那么多的东西,大家可以觉得有点头晕.
...   下一页
 ·c++ builder快捷键大全(英文版)    »显示摘要«
    摘要:clipboard control (default) ctrl+ins edit|copy shift+del edit|cut shift+ins edit|paste ctrl+c edit|copy ctrl+v edit|paste ctrl+x edit|cut debugger (default, classic, brief, epsilon, and visual studio)......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE