当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 作者:疙瘩 当用VC++的Application Wizard生成除了CDialog Basiced以外的应用程序时,将自动产生视图类、文档类、主帧窗口类、应用程序类等等。
 

 

    摘要:郎锐 一、引言 在gis(地理信息系统)类软件设计中经常需要在绘图时使用一些相对固定但又频繁使用的一些用以代表地理状态的符号如河流、铁路、海岸线等等。每一种符号均有其各自的风格,但在不同的位置的具体表示却不尽相同,比如代表铁路的符号是一段黑白相间的细矩形,但有时是平直的,在拐弯时用弯曲的矩形来表示。因此对于上述符号的绘制一般不易用固定的图标去实现,而多采用灵活多变的用函数来直接绘制的方法。显......
    摘要:在windows应用程序中,对话框是应用最广泛也是比较难控制其风格(外表)的一类窗口。相信用过windows 的朋友在享受其强大功能的同时,一定也为它所提供的具有立体感的界面而感叹吧。通常情况下,对话框的弹出和消隐都是瞬时的,下面将介绍如何实现对话框的动画弹出和消隐,增强程序的美观性。   请按以下步骤实现:   第一步:生成我们的工程(基于对话框)flashdlg,所有的选项都取默认值,在对......


MFC类中获得其它类指针 
作者:疙瘩

        当用vc++的application wizard生成除了cdialog basiced以外的应用程序时,将自动产生视图类.文档类.主帧窗口类.应用程序类等等.一般来说,程序的核心数据及操作在文档类中实现.跟界面有关的数据及操作在视图类中实现.当需要在某个类中使用不属于该类的数据时,必须要取得该数据所属类的指针.从视图类获得文档类的指针是很容易的,用getdocument即可,这在一般的mfc文档中有介绍,也是编程中极为常用的的操作,比如视图类在进行重画等操作时,往往要用到文档类中的数据.然而只能从视图类获得文档类的指针是远远不够的,每个类都有获得其它各个类指针的一套方法,现归纳如下: 为方便说明,现假设已用application wizard生成一个sdi应用程序test,包含如一几个类: 【程序编程相关:Data Objects and Dat

【推荐阅读:子类化:增强Edit控件为日期输入控件

ctestapp,ctestdoc,ctestview,cmainfrm.1.从视图类获得文档类的指针 如前所述,在视图类中需要引用文档类的地方之前,使用以下语句: 【扩展信息:Drag and Drop: Custo

ctextdoc *pdoc=(ctestdoc*)getdocument();

以后便可使用pdoc指针访问文档类.

        此处的强制类型转换在test应用程序中并不必需,因为该程序中只有一个视图类,并且在initstance()中用sdi文档模板进行了装配,你可以在test.cpp中的initstance()方法中看到以下语句:

csingledoctemplate *pdoctemplate;

pdoctemplate=new csingledoctemplate(idr_mainframe,runtime_class(ctestdoc),runtime_class(cmainframe),

runtime_class(ctestview));

adddoctemplate(pdoctemplate);

以及testview.h中的线上定义:

inline ctestdoc* ctestview::getdocument()

{ return (ctestdoc*)m_pdocument;}

       简而言之,就是说ctestview的getdocument()函数自然而然地认为ctestdoc是与它“相配”的,当生成了一个具有多个视图类的应用程序时(如用csplitterwnd)将窗口分为两栏,但这两栏并非从同一种视图类派生就属于这种情况.
...   下一页
    摘要:  文/潘娅、王牛、景玲   我们本次的话题就是——在vc中使用ado(activex data objects)。visual c++提供了多种数据库处理方法,我们既可以直接从dao sdks(data access objects software development kits)或odbc sdks(open database connectivity)中调用数据库api函数,也可以选择......
» 本期热门文章:

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