用VC++进行MapX二次开发::之二------使用MapX的基石

王朝vc·作者佚名  2006-01-08
宽屏版  字体: |||超大  

用VC++进行MapX二次开发

之二------使用MapX的基石

Writer:Bluedy er-huang@163.com

在开始之前,我假设读者熟悉VC++编程(了解一些可以),且使用的系统安装好了VC++5.0(或以上版本,建议VC++6.0)和MapX4.0(或以上版本)。若你还没完成以上步骤,GetReader().Stop();请你满足前面的if语句。

好,现在让我们来开始我们的MapX之旅吧!

对于C++程序来说,每个MapX对象(Objects)都在MapX.h 和 MapX.cpp中用一个类来实现,类的名字和MapX对象的名字相同,且已经在CmapX中定义了。例如,DataSet对象用类CmapXDataset实现。这和C++类的定义相一致。

那么,每个对象的属性(Properties)呢?MapX的属性是用类的成员函数来实现的。比如刚才的DataSet对象的名字(Name),就是用Name()函数来实现的,不过,Name()有两种使用方法,即Get和Set。如:

CString GetName();//获取对象名字

void SetName(LPCTSTR);//设置对象名字

你是不是觉得Get和Set有点熟悉?那你看看下面的函数:

GetButtomInfo();GetButtomText();

SetButtomInfo();SetButtomText();

上面的函数可是MFC标准的、而且常用的函数哦。所以,你学MapX开发,可以想象成MapX里面的对象和属性就是MFC里面的类和成员函数。如此而已。

现在让我们来创建我们的MapX基石吧。

第一步:用VC++的程序向导来创建一个单文档程序MapXSample。

第二步:Project> Add To Project>Files,选择MapX.cpp和MapX.h。

第三步:定义一个CmapX对象。

class CMapxSampleView : public CView

{

……

protected:

CMapX m_ctrlMapX;

……

}

第四步:声明一个常量。View > Resource Symbols>New>name为IDC_MAP。

第五步:在类向导中为CMapXSampleView创建WM_SIZE 和 WM_CREATE的处理消息:

void CMapxSampleView::OnCreate(UINT nType, int cx, int cy)

{

m_ctrlMapX.Create(NULL, WS_VISIBLE, CRect(0,0,100,100), this,IDC_MAP);

}

void CMapxSampleView::OnSize(UINT nType, int cx, int cy)

{

CView::OnSize(nType, cx, cy);

m_ctrlMapX.MoveWindow(0,0,cx,cy,TRUE);

}

第六步:在类向导中为CMapXSampleView创建WM_SETFOCUS的处理消息,以确保当窗口处于活动状态时得到焦点。

void CMapxSampleView::OnSetFocus(CWnd* pOldWnd)

{

CView::OnSetFocus(pOldWnd);

m_ctrlMapX.SetFocus();

}

然后编译运行。看到了吗?这个就是一个最基本的MapX程序了,我把它称为“MapX的基石”,因为以后的程序都是在这个程序的基础上“缝缝补补”而来的。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有