jxfzcgh
外卖仔
外卖仔
  • 注册日期2003-07-26
  • 发帖数69
  • QQ
  • 铜币452枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:3606回复:5

在mo中用位图标注point对象!!

楼主#
更多 发布于:2003-07-26 22:14
先定义一个类模块(MyCustomSymbol,确定引用AFCustom对象)
Implements AFCustom.ICustomMarker
Private m_filename As String
Private m_dpi As Double
Private m_picture As IPicture
Public Sub SetFileName(fn As String)
    m_filename = fn
End Sub
Private Sub ICustomMarker_Draw(ByVal hDC As Long, ByVal x As Long, ByVal y As Long)
    Dim pixWidth As Double, pixHeight As Double
    pixWidth = m_picture.Width * m_dpi / 2540
    pixHeight = m_picture.Height * m_dpi / 2540
    
    If Not m_picture Is Nothing Then

        m_picture.Render hDC, x - pixWidth / 2, y + pixWidth / 2, pixWidth, -pixHeight, _
        0, 0, m_picture.Width, m_picture.Height, Null
    End If
End Sub
Private Sub ICustomMarker_ResetDC(ByVal hDC As Long)
    Set m_picture = Nothing
End Sub
Private Sub ICustomMarker_SetupDC(ByVal hDC As Long, ByVal dpi As Double, ByVal pBaseSym As Object)
    m_dpi = dpi
    Set m_picture = LoadPicture(m_filename)
End Sub

然后在窗体里面可以使用这个类模块:
Private Sub Form_Load()
  
  Dim bmpSym As New MyCustomSymbol
  Dim lyr As New MapLayer
  Set lyr = Map1.Layers(0)
 
  bmpSym.SetFileName "C:\Documents and Settings\cgh\My Documents\My Pictures\1.bmp"
  Debug.Print Map1.Layers(0).shapeType
  If Map1.Layers(0).shapeType = 21 Then
      Set lyr.Symbol.Custom = bmpSym
  End If
End Sub


喜欢0 评分0
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15945
  • QQ554730525
  • 铜币25337枚
  • 威望15352点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
1楼#
发布于:2003-07-27 10:55
兄弟多来发发
不错不错!
举报 回复(0) 喜欢(0)     评分
终极无间
  • 注册日期
  • 发帖数
  • QQ
  • 铜币
  • 威望
  • 贡献值
  • 银元
2楼#
发布于:2003-07-27 16:13
鼓励
举报 回复(0) 喜欢(0)     评分
wangjh
论坛版主
论坛版主
  • 注册日期2003-08-22
  • 发帖数994
  • QQ55359982
  • 铜币2579枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2003-08-26 15:27
哈哈,AFCustom对象怎么引用?
网 站: www.52xoo.com (3S,信息融合,数字图像处理,模式识别与人工智能等专业电子书、学术文章及源代码共享) E-mail: Jianhong72@163.com QQ: 88128745 (55359982用了近10年,最近被盗了,郁闷!!!)
举报 回复(0) 喜欢(0)     评分
sulin
路人甲
路人甲
  • 注册日期2003-07-28
  • 发帖数158
  • QQ
  • 铜币501枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2003-08-26 17:45
顶!
举报 回复(0) 喜欢(0)     评分
sulin
路人甲
路人甲
  • 注册日期2003-07-28
  • 发帖数158
  • QQ
  • 铜币501枚
  • 威望0点
  • 贡献值0点
  • 银元0个
5楼#
发布于:2003-08-26 17:48
位图很可能盖住地图了,不知道能不能使其透明,只剩下字和对象.
举报 回复(0) 喜欢(0)     评分
总有黎明
路人甲
路人甲
  • 注册日期2003-09-25
  • 发帖数59
  • QQ
  • 铜币276枚
  • 威望0点
  • 贡献值0点
  • 银元0个
6楼#
发布于:2003-10-13 09:14
很好,能不能再讲一讲如何使用字体以及用什么工具使用字体啊?谢谢!
举报 回复(0) 喜欢(0)     评分
游客

返回顶部