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

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

?? mapxutils.bas

?? GIS地理信息系統開發。大名鼎鼎的MAPX+VisualBasic6.0軟件開發
?? BAS
字號:
Attribute VB_Name = "MapXUtils"
Option Explicit

' This sample application and corresponding sample code is provided
' for example purposes only.  It has not undergone rigorous testing
' and as such should not be shipped as part of a final application
' without extensive testing on the part of the organization releasing
' the end-user product.

Const P_RED As Byte = 1
Const P_GREEN As Byte = 2
Const P_BLUE As Byte = 3

Type RECT
  left As Long
  top As Long
  right As Long
  bottom As Long
End Type

Public Type LayerDescr
  Name As String
  NewLayer As Boolean
  Visible As Boolean
  Selectable As Boolean
  AutoLabel As Boolean
  InitPos As Integer
  LabelProp As LabelProperties
  StyleProp As Style
  LabelChanged As Boolean
  StyleChanged As Boolean
  ZoomLayer As Boolean
  ZoomMin As Double
  ZoomMax As Double
  Override As Boolean
End Type

Public Type ThemeDescr
  LayerName As String
  DataSetName As String
  ThemeName As String
  ThemeString As String
End Type

Public Type DocInfo
  cbSize As Integer
  lpszDocName As String
  lpszOutput As Long
End Type

Declare Function GetWindowRect Lib "user32.dll" (ByVal hw As Long, lprc As RECT) As Long

Declare Function GetSystemMetrics Lib "user32.dll" (ByVal Index As Long) As Long

Declare Function MoveWindow Lib "user32.dll" (ByVal hw As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal fRepaint As Long) As Long

Declare Function GetDeviceCaps Lib "gdi32.dll" (ByVal hdc As Long, ByVal param As Long) As Long

Declare Function StartDoc Lib "gdi32.dll" Alias "StartDocA" (ByVal hdcDC As Long, ByRef tDocInfo As DocInfo) As Long

Declare Function EndDoc Lib "gdi32.dll" (ByVal hdcDC As Long) As Long

Declare Function EndPage Lib "gdi32.dll" (ByVal hdcDC As Long) As Long

Global ld() As LayerDescr, DeletedLayers() As String

'Declare Function SendMessage Lib "user32.dll" (ByVal hw As Long, ByVal msg As Long, ByVal wp As Long, ByVal lp As Long) As Long
'Declare Sub CopyMemory Lib "kernel32.dll" (Dest As Long, Src As Long, ByVal length As Long)

Public Sub FormToCenter(ByVal lFormWnd As Long)
    Dim r As RECT, cx, cy, nx, ny, res As Long
    
    cx = GetSystemMetrics(0)
    cy = GetSystemMetrics(1)
    
    res = GetWindowRect(lFormWnd, r)
    
    nx = (cx - r.right + r.left) \ 2
    ny = (cy - r.bottom + r.top) \ 2
    
    res = MoveWindow(lFormWnd, nx, ny, r.right - r.left, r.bottom - r.top, 1)
    
End Sub

Public Sub FillThemes(ThemesArray() As ThemeDescr, Map As Map)
  Dim i As Integer, j As Integer, iThemesNum As Integer
  
  iThemesNum = 0
  ReDim ThemesArray(8)

  For i = 1 To Map.Datasets.Count
    For j = 1 To Map.Datasets(i).Themes.Count
      iThemesNum = iThemesNum + 1
      If iThemesNum > UBound(ThemesArray) Then
        ReDim Preserve ThemesArray(UBound(ThemesArray) + 8)
      End If
      ThemesArray(iThemesNum).LayerName = Map.Datasets(i).Layer.Name
      ThemesArray(iThemesNum).DataSetName = Map.Datasets(i).Name
      ThemesArray(iThemesNum).ThemeName = Map.Datasets(i).Themes(j).Name
      ThemesArray(iThemesNum).ThemeString = ThemesArray(iThemesNum).LayerName & " - (" & ThemesArray(iThemesNum).DataSetName & ") " & MakeThemeTypeStr(Map.Datasets(i).Themes(j).Type) & " " & ThemesArray(iThemesNum).ThemeName
    Next
  Next
  ReDim Preserve ThemesArray(iThemesNum)
End Sub

Public Function MakeThemeTypeStr(ByVal ThemeType As Integer) As String
  Select Case ThemeType
    Case miThemeRanged
      MakeThemeTypeStr = "Ranges by"
    Case miThemeBarChart
      MakeThemeTypeStr = "Bars with"
    Case miThemePieChart
      MakeThemeTypeStr = "Pies with"
    Case miThemeGradSymbol
      MakeThemeTypeStr = "Graduated by"
    Case miThemeDotDensity
      MakeThemeTypeStr = "Dot density with"
    Case miThemeIndividualValue
      MakeThemeTypeStr = "Ind. value with"
  End Select
End Function

Public Sub Fill_HSV_Colors(ByVal BeginColor As Long, ByVal EndColor As Long, ByVal rCount As Integer, lResRGB() As Long)
  Dim h1 As Double, h2 As Double, hs As Double, ch As Double
  Dim s1 As Double, s2 As Double, ss As Double, cs As Double
  Dim v1 As Double, v2 As Double, vs As Double, cv As Double
  Dim i As Integer
  
  lResRGB(1) = BeginColor
  lResRGB(rCount) = EndColor
  
  If rCount <= 2 Then
    Exit Sub
  End If
  
  RGB2HSV BeginColor, h1, s1, v1
  RGB2HSV EndColor, h2, s2, v2
  
  ss = (s2 - s1) / (rCount - 1)
  vs = (v2 - v1) / (rCount - 1)
  If Abs(h2 - h1) > 180 Then
    If h1 < h2 Then
      hs = (h2 - h1 - 360) / (rCount - 1)
    Else
      hs = (360 - (h1 - h2)) / (rCount - 1)
    End If
  Else
    hs = (h2 - h1) / (rCount - 1)
  End If
  ch = h1
  cs = s1
  cv = v1
  
  For i = 2 To rCount - 1
    ch = ch + hs
    If ch < 0 Then
      ch = ch + 360
    End If
    If ch > 360 Then
      ch = ch - 360
    End If
    cs = cs + ss
    cv = cv + vs
    HSV2RGB ch, cs, cv, lResRGB(i)
  Next
End Sub

Public Function RGB_Color(ByVal RGB_Src As Long, ByVal Which As Byte) As Byte
  Select Case Which
    Case P_RED
      RGB_Color = RGB_Src And 255
    Case P_GREEN
      RGB_Color = (RGB_Src And 65280) / 256
    Case P_BLUE
      RGB_Color = (RGB_Src And 16711680) / 65536
  End Select
End Function

Public Sub RGB2HSV(ByVal lRGB As Long, h As Double, s As Double, v As Double)
  Dim r As Double, g As Double, b As Double, dMin As Double, dMax As Double, d As Double

' h = [0;360), s, v = [0,1]
  r = RGB_Color(lRGB, P_RED) / 255#
  g = RGB_Color(lRGB, P_GREEN) / 255#
  b = RGB_Color(lRGB, P_BLUE) / 255#
  
' r, g, b = [0,1]
  dMax = r
  If dMax < g Then
    dMax = g
  End If
  If dMax < b Then
    dMax = b
  End If
' dMax = max(r,g,b)
  dMin = r
  If dMin > g Then
    dMin = g
  End If
  If dMin > b Then
    dMin = b
  End If
' dMin = min(r,g,b)
  v = dMax
  If dMax <> 0 Then
    s = (dMax - dMin) / dMax
  Else
    s = 0
  End If
  If s = 0 Then
    h = 0
    Exit Sub
  Else
    d = dMax - dMin
  End If
  If r = dMax Then
    h = (g - b) / d
  End If
  If g = dMax Then
    h = 2 + (b - r) / d
  End If
  If b = dMax Then
    h = 4 + (r - g) / d
  End If
  h = h * 60
  If h < 0 Then
    h = h + 360
  End If
End Sub

Public Sub HSV2RGB(ByVal h As Double, ByVal s As Double, ByVal v As Double, lRGB As Long)
  Dim r As Double, g As Double, b As Double, hh As Double, i As Integer, f As Double, p As Double, q As Double, t As Double

  If s = 0 Then
    r = v
    g = v
    b = v
    lRGB = RGB(r * 255#, g * 255#, b * 255#)
    Exit Sub
  End If
  If h = 360 Then
    hh = 0
  Else
    hh = h / 60#
  End If
  i = Int(hh)
  f = hh - i
  p = v * (1 - s)
  q = v * (1 - s * f)
  t = v * (1 - s * (1 - f))
  Select Case i
    Case 0
      r = v
      g = t
      b = p
    Case 1
      r = q
      g = v
      b = p
    Case 2
      r = p
      g = v
      b = t
    Case 3
      r = p
      g = q
      b = v
    Case 4
      r = t
      g = p
      b = v
    Case 5
      r = v
      g = p
      b = q
  End Select
  lRGB = RGB(r * 255#, g * 255#, b * 255#)
End Sub

Public Function GetDatasetNum(ds As Dataset, mMap As Map) As Integer
  Dim sName As String, i As Integer
  
  On Error GoTo NoDataset
  sName = ds.Name
  On Error GoTo 0
  For i = 1 To mMap.Datasets.Count
    If sName = mMap.Datasets(i).Name Then
      GetDatasetNum = i
      Exit Function
    End If
  Next
NoDataset:
  GetDatasetNum = 0
End Function

Public Function GetFieldNum(ds As Dataset, Fld As MapXLib.Field) As Integer
  Dim sName As String, i As Integer
  
  On Error GoTo NoField
  sName = Fld.Name
  On Error GoTo 0
  For i = 1 To ds.Fields.Count
    If sName = ds.Fields(i).Name Then
      GetFieldNum = i
      Exit Function
    End If
  Next
NoField:
  GetFieldNum = 0
End Function

Public Sub PrintMapX(mMap As Map)
  Dim iScaleMode As Integer

  iScaleMode = mMap.Container.ScaleMode
  mMap.Container.ScaleMode = 6

  On Error GoTo PrinterError
  Printer.Print " "
  Printer.CurrentX = 0
  Printer.CurrentY = 0
  mMap.PrintMap Printer.hdc, 0, 0, mMap.Width * 100, mMap.Height * 100
  Printer.NewPage
  Printer.EndDoc
  mMap.Container.ScaleMode = iScaleMode
  Exit Sub
PrinterError:
  MsgBox "There is a problem printing on your printer", vbOKOnly, "Print Map"
  Exit Sub
End Sub

Public Sub CopyMapXFont(dstFont As StdFont, ByVal srcFont As StdFont)
  dstFont.Name = srcFont.Name
  dstFont.Size = srcFont.Size
  dstFont.Weight = srcFont.Weight
  dstFont.Bold = srcFont.Bold
  dstFont.Italic = srcFont.Italic
  dstFont.Strikethrough = srcFont.Strikethrough
  dstFont.Underline = srcFont.Underline
  dstFont.Charset = srcFont.Charset
End Sub

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品一区二区在线| 欧美精品色综合| 亚洲国产精品影院| 精品国产乱码久久久久久1区2区| 99久久精品情趣| 激情综合一区二区三区| 亚洲一区二区三区不卡国产欧美| 久久麻豆一区二区| 欧美日韩大陆一区二区| 成人性色生活片| 韩国av一区二区三区在线观看| 亚洲最新视频在线观看| 国产精品丝袜在线| 亚洲精品在线观看视频| 欧美高清激情brazzers| 99国产精品视频免费观看| 极品少妇xxxx偷拍精品少妇| 亚洲一区二区三区四区不卡| 亚洲欧洲精品天堂一级 | 国产91高潮流白浆在线麻豆 | 91蝌蚪porny九色| 国产福利一区二区三区在线视频| 午夜精品视频在线观看| 《视频一区视频二区| 国产日韩三级在线| xvideos.蜜桃一区二区| 日韩一二三四区| 欧美丰满一区二区免费视频| 在线亚洲一区观看| 91香蕉视频污| 94色蜜桃网一区二区三区| 成人黄色电影在线| 狠狠狠色丁香婷婷综合久久五月| 日韩精品亚洲一区| 午夜精品123| 亚洲v日本v欧美v久久精品| 亚洲精品国产a久久久久久| 日本一区二区不卡视频| 国产欧美一区二区精品性色| 国产欧美日本一区视频| 久久婷婷国产综合精品青草| 精品久久久久一区二区国产| 日韩精品自拍偷拍| 亚洲精品一区二区三区福利| 久久久久久久久久久99999| 欧美va亚洲va在线观看蝴蝶网| 日韩精品一区二区三区在线播放 | 亚洲第一综合色| 亚洲国产综合人成综合网站| 午夜视频在线观看一区二区三区| 午夜精品影院在线观看| 日韩高清在线一区| 久久成人免费电影| 韩国av一区二区三区在线观看| 国产成人亚洲综合a∨婷婷图片| 国产成人精品影视| 91在线视频观看| 91成人免费网站| 在线不卡免费欧美| 日韩毛片视频在线看| 亚洲一区av在线| 久久丁香综合五月国产三级网站 | 在线精品亚洲一区二区不卡| 欧美在线一区二区三区| 在线播放欧美女士性生活| 欧美成人aa大片| 国产精品久久久久7777按摩| 一区二区三区免费网站| 视频一区二区三区入口| 精品一区二区三区在线播放视频 | 日韩av一区二| 国产一区福利在线| 99国产欧美另类久久久精品| 欧美图区在线视频| 欧美精品一区二区三区高清aⅴ | 国产精品 日产精品 欧美精品| 99久久婷婷国产综合精品| 欧美视频在线播放| 久久久久国产精品麻豆| 一区二区三区免费看视频| 久久超级碰视频| 91免费精品国自产拍在线不卡| 日韩三级视频中文字幕| 国产欧美日韩在线观看| 午夜国产精品影院在线观看| 国产成人午夜视频| 欧美三级电影网站| 国产亚洲精品福利| 亚洲成av人综合在线观看| 国产激情一区二区三区桃花岛亚洲| 色婷婷av一区| 亚洲精品一区二区三区99| 亚洲一区在线观看免费观看电影高清| 久久se这里有精品| 日本高清无吗v一区| 精品精品国产高清a毛片牛牛 | 日韩情涩欧美日韩视频| 日韩一区日韩二区| 狠狠色狠狠色合久久伊人| 欧洲中文字幕精品| 国产精品丝袜一区| 精品一区二区久久| 欧美三级资源在线| 免费欧美在线视频| 成人va在线观看| wwwwww.欧美系列| 天天综合天天综合色| 91亚洲资源网| 国产欧美一区二区精品仙草咪| 人人狠狠综合久久亚洲| 在线观看免费视频综合| 中文字幕二三区不卡| 国内精品久久久久影院色 | 在线视频国内自拍亚洲视频| 日本一区二区在线不卡| 狠狠色丁香九九婷婷综合五月| 欧美电影影音先锋| 亚洲国产精品久久一线不卡| 91免费观看在线| 国产精品国产三级国产aⅴ中文| 国产精品白丝jk黑袜喷水| 欧美videossexotv100| 天天操天天干天天综合网| 91久久精品一区二区二区| 国产亚洲成av人在线观看导航| 老司机一区二区| 日韩一二在线观看| 免费观看一级欧美片| 欧美高清hd18日本| 亚洲成人免费电影| 欧美少妇xxx| 亚洲成人免费视| 91精品在线观看入口| 日韩精品乱码免费| 7777精品伊人久久久大香线蕉 | 精品亚洲成av人在线观看| 欧美一区三区四区| 日韩电影在线观看网站| 日韩一区和二区| 蜜臀va亚洲va欧美va天堂 | 91农村精品一区二区在线| 国产精品卡一卡二卡三| 成人久久视频在线观看| 中文字幕一区二区三区在线不卡| av激情成人网| 一区二区三区在线看| 精品久久久久久久久久久院品网| 韩国三级电影一区二区| 久久久久久99久久久精品网站| 国产精品一区二区在线观看不卡| 国产色综合一区| 99综合影院在线| 亚洲综合视频在线| 91精品国产综合久久久久久久| 奇米色一区二区| 久久久综合视频| 99热99精品| 亚洲福利视频导航| 日韩丝袜情趣美女图片| 极品少妇xxxx精品少妇| 中文字幕免费在线观看视频一区| 99精品视频中文字幕| 亚洲成人自拍网| 337p日本欧洲亚洲大胆色噜噜| 成人免费视频国产在线观看| 亚洲精品videosex极品| 日韩一区二区三区四区五区六区| 国产福利电影一区二区三区| 日韩毛片精品高清免费| 777精品伊人久久久久大香线蕉| 久久福利资源站| 日韩理论片中文av| 91精品国产91热久久久做人人| 国产精品综合在线视频| 亚洲欧洲色图综合| 91精品国产91热久久久做人人| 大胆欧美人体老妇| 亚洲成av人片一区二区| 国产亚洲1区2区3区| 欧美在线视频不卡| 国产精品一区二区三区四区| 国产精品国产三级国产aⅴ中文 | 欧美一级免费大片| 成人高清av在线| 日韩av一区二区在线影视| 国产精品久久久久婷婷| 欧美一二三区精品| 91丨九色丨蝌蚪富婆spa| 精品综合久久久久久8888| 亚洲欧美激情小说另类| 精品福利在线导航| 欧美无砖专区一中文字| 国产精品99久久不卡二区| 午夜精品福利一区二区蜜股av| 国产精品午夜在线观看| 欧美一区二区日韩| 欧美亚洲自拍偷拍| av成人免费在线观看| 六月婷婷色综合| 亚洲国产精品一区二区www |