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

日期:2016-08-07 16:44:22编辑作者:申博亚洲
在开始之前,我假设读者熟悉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的基石”,因为以后的程序都是在这个程序的基础上“缝缝补补”而来的。

相关文章

工业控制研华板卡的VC编程实现

在论坛中经常有人提出关于研华工业用控制板卡的vc编程方法。此类板卡编程方法比较复杂,根据说明书上面说明我们可以采用两种编程方法,一种 ..

发布日期:2016-08-07 详细>>

使用VC6进行ADO编程,使用SQL SERVER 2000+WINDOWS SERVER 2003+VC6(第四部分)

目的是将SUN等服务器产生的日志文件--文本格式,写入到SQL Server数据库,实现功能为:1 修改源日志格式为以逗号分割字段,写入成一个新的 ..

发布日期:2016-08-07 详细>>

申博亚洲:SQLITE3在VC/MFC中使用的一点体会

浙江大学生命科学与医学工程学系 徐晨勇 段会龙 吕维雪 摘 要 该文通过对CGI程序,特别是Windows CGI程序原理的分析,介绍了用Visual ..

发布日期:2016-08-07 详细>>

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

在开始之前,我假设读者熟悉VC++编程(了解一些可以),且使用的系统安装好了VC++5 0(或以上版本,建议VC++6 0)和MapX4 0(或以上版本)。 ..

发布日期:2016-08-07 详细>>

VC++动态链接库编程之DLL典型实例

动态链接库DLL实现了库的共享,体现了代码重用的思想。我们可以把广泛的、具有共性的、能够多次被利用的函数和类定义在库中。这样,在再次 ..

发布日期:2016-08-07 详细>>