亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? eagleeye.txt

?? 該程序使用VB與MO實現地圖的鷹眼功能的基本代碼
?? TXT
字號:
鷹眼圖在VB+MapObjects2.3中的實現(上)

Map1為主視圖,Map2為鷹眼圖(放置全圖顯示的圖層,并且不會改變比例),以下倆段代碼可以實現鷹眼睛圖的顯示,但是要想在Map2中實現拖動紅色的矩形框(Map1的當前顯示范圍)來移動Map1中的顯示范圍,則需要用到gdi.dll,user32。dll的知識,將在后面作詳細介紹該功能。

而紅色矩形框的作用:在主視圖(Map1)中進行放大,縮小的變換操作后,在鷹眼圖(Map2)中的紅色矩形框則標示主視圖(Map1)的當前范圍。

Private Sub Map1_AfterLayerDraw(ByVal index As Integer, ByVal canceled As Boolean, ByVal hdc As Stdole.OLE_HANDLE)
  If index = 0 Then
     '在主視圖的首圖層繪制后刷新Map2來更新紅線范圍
      Map2.TrackingLayer.Refresh True
  End If
End Sub

Private Sub Map2_AfterTrackingLayerDraw(ByVal hdc As Stdole.OLE_HANDLE)
  ' 在Map2中繪制Map1的當前顯示范圍
  Dim sym As New Symbol
  sym.OutlineColor = moRed
  sym.Style = moTransparentFill
  Map2.DrawShape Map1.Extent, sym
End Sub

如果你看了該系列的下,則可以使用下面代碼,DragDLL1是定義一個類,該類在系列下有介紹,定義位置放在該窗體代碼的頂端

Dim DragDLL1 as  New DragDLL
Private Sub Map2_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  '將Map2中的窗體坐標轉化為地圖坐標(鷹眼圖)
  Dim p As MapObjects2.Point
  Set p = Map2.ToMapPoint(X, Y)
  
  '判斷點p是否在Map2的紅線框架內即Map1的當前顯示范圍(鷹眼圖)
  If Map1.Extent.IsPointIn(p) Then
    Set DragDLL1 = New DragDLL1

    DragDLL1 .DragStart Map1.Extent, Map2, X, Y
  End If
End Sub

Private Sub Map2_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  If Not DragDLL1 Is Nothing Then
    DragDLL1 .DragMove X, Y
  End If
End Sub

Private Sub Map2_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
  If Not DragDLL1 Is Nothing Then
    Map1.Extent = DragDLL1 .DragFinish(X, Y)
    Set DragDLL1 = Nothing
  End If
End Sub

 鷹眼圖在VB+MapObjects2.3中的實現(下)

下面是類模塊的代碼,類模塊名稱為DragDLL.CLs

將上下結合使用就能實現完滿的鷹眼圖

'Map2指鷹眼窗口

' WinAPI函數定義

'hdc 設備,hwnd 表示窗體,這里指Map2

'GetDC 獲的設備

'ReleaseDC '釋放設備

'GdiRectangle 繪制矩形窗體

'GdiRectangle 設置指定設備場景的繪圖模式。這里指Map2

Private Declare Function GdiRectangle Lib "gdi32" Alias "Rectangle" (ByVal hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long

Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long

Private Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As Long

Private Declare Function SetROP2 Lib "gdi32" (ByVal hdc As Long, ByVal nDrawMode As Long) As Long

'設置繪制的樣式為反色,反色呈透明狀,R2_NOTXORPEN是nDrawMode的一種方式

Private Const R2_NOTXORPEN = 10 

'地圖對象的定義

Dim map_map As MapObjects2.Map

'下面變量的作用是動態標示紅色矩形的位置

Dim map_hDC As Long         '繪制的設備句柄

Dim map_hWnd As Long        '繪制的窗體句柄

Dim map_xMin As Integer, map_yMin As Integer  ' 動態標示說繪制矩形坐標

Dim map_xMax As Integer, map_yMax As Integer  ' 動態標示說繪制矩形坐標

Dim map_xPrev As Integer       ' 記錄點擊位置

Dim map_yPrev As Integer       ' 記錄點擊位置

Dim xNext As Integer         ' 記錄后一點擊X位置

Dim yNext As Integer         ' 記錄后一點擊Y位置

Function DragFinish(x As Single, y As Single) As MapObjects2.Rectangle

  GdiRectangle map_hDC, map_xMin, map_yMin, map_xMax, map_yMax

  ReleaseDC map_hWnd, map_hDC

  

  '返回說繪制的矩形

  Dim r As New MapObjects2.Rectangle

  PixelsRectToMap map_xMin, map_yMin, map_xMax, map_yMax, r

  Set DragFinish = r

End Function

Sub DragMove(x As Single, y As Single)

' 記錄所點擊的后一位置并轉化為窗體坐標

  xNext = map_map.Parent.ScaleX(x, vbTwips, vbPixels)

  yNext = map_map.Parent.ScaleY(y, vbTwips, vbPixels)

    

   

  GdiRectangle map_hDC, map_xMin, map_yMin, map_xMax, map_yMax

  

  '找出拖動后鼠標的位置,并畫出矩形

  map_xMin = map_xMin + (xNext - map_xPrev)

  map_xMax = map_xMax + (xNext - map_xPrev)

  map_yMin = map_yMin + (yNext - map_yPrev)

  map_yMax = map_yMax + (yNext - map_yPrev)

  

  GdiRectangle map_hDC, map_xMin, map_yMin, map_xMax, map_yMax

  

  '記錄所點擊的前一位置并轉化為窗體坐標

  map_xPrev = xNext

  map_yPrev = yNext

End Sub

Sub DragStart(rect As MapObjects2.Rectangle, Map As MapObjects2.Map, x As Single, y As Single)

  Set map_map = Map

  ' 初始化 hwnd 和 hdc 變量

  map_hWnd = map_map.hwnd '獲得Map2的窗體的句柄

  map_hDC = GetDC(map_hWnd)

  SetROP2 map_hDC, R2_NOTXORPEN    '在拖動紅色矩形框色,Map2會重新繪制

  '將Map中的坐標轉換為窗體坐標,目的是為了繪制矩形窗體

  MapRectToPixels rect, map_xMin, map_yMin, map_xMax, map_yMax

  

  ' 繪制矩形窗體

  GdiRectangle map_hDC, map_xMin, map_yMin, map_xMax, map_yMax

  

  ' 記錄所點擊的前一位置并轉化為窗體坐標

  map_xPrev = map_map.Parent.ScaleX(x, vbTwips, vbPixels)

  map_yPrev = map_map.Parent.ScaleY(y, vbTwips, vbPixels)

End Sub

'將Map中的坐標轉換為窗體坐標

Private Sub MapRectToPixels(r As MapObjects2.Rectangle, xMin As Integer, yMin As Integer, xMax As Integer, yMax As Integer)

  Dim p As New MapObjects2.Point

  Dim xc As Single, yc As Single

  

  p.x = r.Left

  p.y = r.Top

  map_map.FromMapPoint p, xc, yc

  

  ' 轉化為像素(左上角坐標)

  xMin = map_map.Parent.ScaleX(xc, vbTwips, vbPixels)

  yMin = map_map.Parent.ScaleY(yc, vbTwips, vbPixels)

  p.x = r.Right

  p.y = r.Bottom

  map_map.FromMapPoint p, xc, yc

  

  ' 轉化為像素(右下角坐標)

  xMax = map_map.Parent.ScaleX(xc, vbTwips, vbPixels)

  yMax = map_map.Parent.ScaleY(yc, vbTwips, vbPixels)

End Sub

Sub PixelsRectToMap(xMin As Integer, yMin As Integer, xMax As Integer, yMax As Integer, r As MapObjects2.Rectangle)

  Dim xc As Single, yc As Single

  

  ' 將左上角窗體坐標轉換為地圖坐標

  xc = map_map.Parent.ScaleX(xMin, vbPixels, vbTwips)

  yc = map_map.Parent.ScaleY(yMin, vbPixels, vbTwips)

  

  Set p = map_map.ToMapPoint(xc, yc)

  r.Left = p.x

  r.Top = p.y

  ' 將右下角窗體坐標轉換為地圖坐標

  xc = map_map.Parent.ScaleX(xMax, vbPixels, vbTwips)

  yc = map_map.Parent.ScaleY(yMax, vbPixels, vbTwips)

  Set p = map_map.ToMapPoint(xc, yc)

  r.Right = p.x

  r.Bottom = p.y

End Sub

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日本视频在线| 亚洲男人电影天堂| 久久久夜色精品亚洲| 一区二区三区四区不卡视频| 理论片日本一区| 91在线视频网址| 精品久久五月天| 午夜激情久久久| 91丨porny丨国产入口| 精品国产一区二区亚洲人成毛片| 亚洲色欲色欲www| 国产成人免费视频一区| 在线播放视频一区| 亚洲黄色免费网站| 国产精品1区2区3区| 日韩欧美中文字幕制服| 亚洲成人自拍偷拍| 色美美综合视频| 国产精品免费网站在线观看| 国产美女av一区二区三区| 91精品婷婷国产综合久久竹菊| 亚洲欧美另类久久久精品| 91视频免费看| 精品国产凹凸成av人网站| 日本视频在线一区| 欧美日韩国产美| 午夜日韩在线观看| 欧美性色黄大片| 亚洲午夜羞羞片| 欧美日韩精品一区二区三区| 亚洲综合一区在线| 色综合天天狠狠| 日韩美女视频19| 99精品欧美一区二区三区小说 | 欧美日韩精品一区视频| 亚洲日本va在线观看| 色网综合在线观看| 亚洲欧美一区二区不卡| 在线看国产一区| 香蕉久久一区二区不卡无毒影院| 欧美日韩一区三区| 蜜臀av一区二区在线观看| 亚洲精品一区二区三区在线观看| 狠狠色狠狠色综合日日91app| 精品国产免费一区二区三区香蕉| 国产一区视频网站| 国产精品视频一区二区三区不卡| 成人午夜短视频| 亚洲男同性视频| 欧美男人的天堂一二区| 日韩电影一区二区三区四区| 欧美xxxxx裸体时装秀| 国产精品自拍在线| 伊人夜夜躁av伊人久久| 欧美日韩情趣电影| 激情伊人五月天久久综合| 国产日产亚洲精品系列| 91麻豆精品在线观看| 天堂久久一区二区三区| 久久日一线二线三线suv| 91尤物视频在线观看| 日韩精品亚洲一区二区三区免费| 久久亚洲免费视频| 在线观看视频一区二区欧美日韩| 午夜电影网亚洲视频| 国产女人水真多18毛片18精品视频| aa级大片欧美| 麻豆成人av在线| 亚洲欧洲中文日韩久久av乱码| 91精品国产乱| 99re8在线精品视频免费播放| 日精品一区二区| 中文字幕免费一区| 日韩一级片在线播放| 91天堂素人约啪| 麻豆国产欧美一区二区三区| 国产精品电影院| 日韩欧美一区二区免费| 91麻豆精品秘密| 国产黄色精品视频| 日韩国产高清在线| 综合激情成人伊人| 国产亚洲欧美在线| 制服.丝袜.亚洲.中文.综合| jizz一区二区| 国产精品69久久久久水密桃| 亚洲成在人线免费| 亚洲男帅同性gay1069| 久久久久久99久久久精品网站| 在线这里只有精品| 高清在线不卡av| 蜜桃视频免费观看一区| 亚洲国产综合91精品麻豆| 中文字幕亚洲一区二区av在线| 精品日韩欧美在线| 欧美精品视频www在线观看| 99精品久久免费看蜜臀剧情介绍| 久久精品国产免费| 日韩综合在线视频| 天堂久久一区二区三区| 亚洲香蕉伊在人在线观| 亚洲人成小说网站色在线| 国产精品美女一区二区| 久久麻豆一区二区| 精品国产乱码久久| 日韩免费高清av| 91精品国产综合久久蜜臀 | 精品嫩草影院久久| 欧美一区二区三区视频在线| 欧美三级视频在线观看| 日本高清免费不卡视频| 91浏览器在线视频| 99re这里只有精品视频首页| 成人黄色国产精品网站大全在线免费观看| 精品一区二区三区在线播放| 美国av一区二区| 另类小说一区二区三区| 国产主播一区二区三区| 国产成人99久久亚洲综合精品| 国产一区二区中文字幕| 国产成人在线视频播放| 国产白丝精品91爽爽久久| 国产成人在线视频网址| bt7086福利一区国产| 99久久精品免费看国产免费软件| 风间由美一区二区三区在线观看| 国产传媒欧美日韩成人| 成人精品视频网站| 色妞www精品视频| 欧美二区在线观看| 精品理论电影在线| 国产欧美精品一区| 亚洲黄色性网站| 日韩成人一区二区三区在线观看| 另类小说图片综合网| 国产福利精品一区二区| 91亚洲精华国产精华精华液| 色婷婷精品大在线视频| 欧美男男青年gay1069videost| 91麻豆精品国产91久久久使用方法 | 韩国av一区二区三区| 国产风韵犹存在线视精品| 91伊人久久大香线蕉| 欧美区一区二区三区| 久久精品夜色噜噜亚洲aⅴ| 国产欧美一区二区精品性| 亚洲欧美综合另类在线卡通| 亚洲国产精品一区二区www在线| 免费观看日韩av| 99久久久国产精品| 欧美一区二区三区性视频| 久久精品欧美日韩| 亚洲午夜视频在线| 国产美女一区二区| 欧美视频在线一区二区三区 | 国产精品一二三四| 色视频欧美一区二区三区| 日韩免费观看2025年上映的电影| 国产精品免费aⅴ片在线观看| 亚洲国产综合视频在线观看| 国产一区不卡视频| 在线亚洲免费视频| 国产亚洲欧洲997久久综合| 亚洲午夜精品一区二区三区他趣| 精品一区二区日韩| 欧美少妇bbb| 国产精品欧美精品| 麻豆精品视频在线观看视频| 91麻豆国产在线观看| 久久精品亚洲麻豆av一区二区| 亚洲成精国产精品女| av激情成人网| 国产欧美一区二区精品久导航 | 亚洲网友自拍偷拍| 不卡一区中文字幕| 精品成人私密视频| 日韩精品亚洲一区二区三区免费| 色综合色狠狠天天综合色| 2欧美一区二区三区在线观看视频| 亚洲乱码精品一二三四区日韩在线| 国内精品视频666| 欧美一区二区观看视频| 亚洲美女精品一区| www.av亚洲| 国产精品三级电影| 国产一区二区伦理片| 欧美一区二区视频观看视频| 亚洲高清免费视频| 欧美日韩视频在线第一区| 亚洲免费观看高清完整版在线| 国产91富婆露脸刺激对白| 久久精品一区二区三区av| 美洲天堂一区二卡三卡四卡视频| 欧美三级电影网站| 亚洲一区二区三区在线播放| 色综合天天综合网天天看片| 17c精品麻豆一区二区免费| 成人免费视频视频在线观看免费 | 99riav久久精品riav| 中文字幕一区二区三区av|