CMapPin - Map Pin 实现






4.09/5 (8投票s)
2000 年 3 月 4 日

118338

1964
免费的 MFC 类,用于实现地图图钉。
引言
欢迎使用CMapPin
,一款免费的 MFC 类,用于在 GIS 应用中提供有用的地图图钉。如果您安装了 Microsoft AutoRoute Express(我想在美国它被称为 AutoMap),您可能已经见过我所说的东西了。以下是地图图钉覆盖在位图地图上的一个小示例。
特点 |
用法 |
历史 |
API 参考 |
计划增强功能 |
联系作者 |
特点
- 标准的
CWnd
派生类,可以像其他任何派生自CWnd
的 MFC 控件类(例如CStatic
)一样使用。 - 内置了对工具提示、拖放和上下文菜单的支持。
- 为了进一步自定义,您可以派生一个类。
- 该类完全兼容 Unicode,并在工作区文件中包含 Unicode 构建选项。
用法
- 要在您的代码中使用该类,只需将 mappin.cpp 包含在您的项目中,并在任何需要调用该类的方法的模块中
#include mappin.h
。 - 使用
SetIcon()
为地图图钉附加一个图标,然后调用Create()
来实际创建地图图钉。就是这样。您现在应该会在窗口上看到地图图钉了。 - 您还应该查看演示程序,以了解使用地图图钉的具体细节。
历史
V1.0 (1998 年 5 月 13 日)- 首次公开发布。
V1.01 (1998 年 9 月 12 日)
- 修正了
SetIcon()
中一个小小的重绘小故障。
API 参考
API 由CMapPin
类的公共成员函数组成。
CMapPin
~CMapPin
Create
SetIcon
GetIcon
SetPopupMenu
SetAllowDrag
GetAllowDrag
- CMapPin::CMapPin
- CMapPin();
备注
标准的 C++ 构造函数。只是将内部变量初始化为默认值。 - CMapPin::~CMapPin
- ~CMapPin();
备注
标准的 C++ 析构函数。内部会释放此实例使用的任何资源。 - CMapPin::Create
- BOOL Create(LPCTSTR lpszTooltipText, DWORD dwStyle, const CPoint& p, CWnd* pParent, UINT nID);
返回值
成功则为非零,否则为 0。参数
- lpszTooltipText -- 指定控件的工具提示文本。如果为 NULL,则不显示文本。
- dwStyle -- 指定控件的窗口样式。通常这只是 WS_CHILD 和 WS_VISIBLE。
- p -- 指定控件的位置。大小将从附加的图标中获取。
- pParentWnd -- 指定控件的父窗口,通常是您的
CView
派生类。它不能为 NULL。 - nID -- 指定控件的控件 ID。
备注
分三个步骤构造一个CMapPin
对象。首先调用构造函数,然后调用SetIcon()
,最后调用Create()
,它会创建 Windows 控件并将其附加到CMapPin
对象。将以下窗口样式应用于地图图钉控件:
- WS_CHILD: 始终
- WS_VISIBLE: 通常
- WS_DISABLED: 很少
- CMapPin::SetIcon
- BOOL SetIcon(HINSTANCE hModule, LPCTSTR lpszResourceName, BOOL bSmallIcon);
BOOL SetIcon(HINSTANCE hModule, UINT nIDResource, BOOL bSmallIcon);返回值
成功则为非零,否则为 0。参数
- hModule -- 包含要加载的图标的可执行文件的模块实例的句柄。
- lpszResourceName -- 指向一个以 null 结尾的字符串,该字符串包含要加载的图标资源的名称。
- nIDResource -- 要加载的图标资源的资源标识符。
- bSmallIcon -- 指定加载的是小图标(16 * 16),FALSE 表示加载标准 32 * 32 图标。
备注
修改要在地图图钉上显示的图标。 - CMapPin::GetIcon
- HICON GetIcon() const;
返回值
返回此地图图钉实例当前使用的图标的句柄。 - CMapPin::SetPopupMenu
- void SetPopupMenu(LPCTSTR pszResourceName);
void SetPopupMenu(UINT nIDResource);参数
- pszResourceName -- 指向一个以 null 结尾的字符串,该字符串包含要使用的图标资源的名称。
- nIDResource -- 要使用的图标资源的资源标识符。
备注
设置将在此地图图钉实例的上下文菜单中使用哪个菜单资源。 - CMapPin::SetAllowDrag
- void SetAllowDrag(BOOL bAllowDrag);
参数
- bAllowDrag -- 如果您希望允许地图图钉被拖动,则为 TRUE,FALSE 将禁用拖动。
备注
更改地图图钉是否可以被拖动。 - CMapPin::GetAllowDrag
- BOOL GetAllowDrag() const;
返回值
如果实例允许拖动,则为 TRUE,否则为 FALSE。
计划增强功能
- 如果您有任何其他改进建议,请告诉我,以便我将其纳入下一个版本。
联系作者
PJ Naughter电子邮件:pjn@indigo.ie
网站:http://www.naughter.com
1998 年 9 月 12 日