?? emme2 plugin.frm
字號:
Set Ptas = FtrInter.Parts.Item(1)
Set Ptbs = FtrInter.Parts.Item(FtrInter.Parts.Count)
Set Pta = Ptas.Item(1)
Set Ptb = Ptbs.Item(Ptbs.Count)
Set fa = Main.Mapshow.FeatureFactory.CreateCircularRegion(1, Pta, NodeRadius, 7, 32)
Set FtrTemp1 = LyrLink.AddFeature(fa)
If Mapshow.FeatureFactory.IntersectionTest(FtrSel, FtrTemp1, miIntersectFeature) = True Then
LinkFidId = FtrInter.KeyValue
Set RsDel = mDbBiblio.OpenRecordset("select * from Links where LinkId=" & LinkFidId)
If RsDel.RecordCount > 0 Then
RsDel.Delete
End If
LyrLink.DeleteFeature FtrTemp1
LyrLink.DeleteFeature FtrInter
Else
LyrLink.DeleteFeature FtrTemp1
End If
Set fb = Main.Mapshow.FeatureFactory.CreateCircularRegion(1, Ptb, NodeRadius, 7, 32)
Set FtrTemp2 = LyrLink.AddFeature(fb)
If Mapshow.FeatureFactory.IntersectionTest(FtrSel, FtrTemp2, miIntersectFeature) = True Then
LinkFidId = FtrInter.KeyValue
Set RsDel = mDbBiblio.OpenRecordset("select * from Links where LinkId=" & LinkFidId)
If RsDel.RecordCount > 0 Then
RsDel.Delete
End If
LyrLink.DeleteFeature FtrTemp2
LyrLink.DeleteFeature FtrInter
Else
LyrLink.DeleteFeature FtrTemp2
End If
End If
Next
Unload FrmProgress
'刪除該節點
Set RsDel = mDbBiblio.OpenRecordset("select * from Nodes where NodeId=" & FidId)
RsDel.Delete
Lyr.DeleteFeature FtrSel
Set RsDel = Nothing
Mapshow.MousePointer = 2
SbXY.Panels(3).Text = "刪除成功!請繼續其他操作!"
Else
Toolbar1.Buttons(23).Value = tbrUnpressed
Toolbar1.Refresh
Exit Sub
End If
Next
Set Lyr = Mapshow.Layers.Item("Link")
For Each FtrSel In Lyr.Selection
'首先從數據庫中刪除記錄
Fid = Lyr.KeyField
FidId = FtrSel.KeyValue
RespDel = MsgBox("本操作不可恢復,確定刪除該路段嗎?", vbOKCancel, "刪除對象")
If RespDel = vbOK Then
Set RsDel = mDbBiblio.OpenRecordset("select * from Links where LinkId=" & FidId)
If RsDel.RecordCount > 0 Then
RsDel.Delete
End If
Set RsDel = Nothing
Lyr.DeleteFeature FtrSel
Else
Toolbar1.Buttons(23).Value = tbrUnpressed
Toolbar1.Refresh
Exit Sub
End If
Next
Toolbar1.Buttons(23).Value = tbrUnpressed
Toolbar1.Refresh
End Sub
Private Sub mnudeletelink_Click()
mnuproper_Click
End Sub
Private Sub mnudelimg_Click()
mnudeleteit_Click
End Sub
Private Sub mnudelnode_Click()
mnudeleteit_Click
End Sub
Private Sub mnudir_Click()
Load Frmwizard
Frmwizard.Show
End Sub
Private Sub mnueditit_Click()
Mapshow.CurrentTool = miSelectTool
Toolbar1.Refresh
Dim FtrSel As Feature
Dim FtrSels As Feature
Dim Lyr As Layer
Dim LyrNode As Layer
Dim LyrLink As Layer
Set LyrNode = Mapshow.Layers("Node")
Set LyrLink = Main.Mapshow.Layers("Link")
Dim Fid As String
Dim LinkFidId As Long
Dim RsDel As Recordset
Dim RespDel
Set Lyr = Main.Mapshow.Layers("Node")
For Each FtrSel In Lyr.Selection
'首先從數據庫中刪除記錄
Fid = Lyr.KeyField
FidIdEdit = FtrSel.KeyValue
X1 = FtrSel.CenterX
Y1 = FtrSel.CenterY
Load NodeFrmEdit
NodeFrmEdit.Show
Next
Set Lyr = Main.Mapshow.Layers("Link")
For Each FtrSel In Lyr.Selection
'首先從數據庫中刪除記錄
Fid = Lyr.KeyField
FidIdEdit = FtrSel.KeyValue
LinkLength = FtrSel.Length
Load FrmLinkEdit
FrmLinkEdit.Show
Next
End Sub
Private Sub mnueditlink_Click()
Load FrmLinkSetup
FrmLinkSetup.Show
End Sub
Private Sub mnueditnode_Click()
Load FrmNodeSetup
FrmNodeSetup.Show
End Sub
Private Sub mnuexportmap_Click()
ExportMap Main
End Sub
Private Sub mnufindplace_Click()
Load SpotPlace
SpotPlace.Show
End Sub
Private Sub mnulayerscontrol_Click()
Mapshow.Layers.LayersDlg
End Sub
Private Sub mnulinksetup_Click()
mnuproper_Click
End Sub
Private Sub mnunewproject_Click()
Load frmFront
frmFront.Show
End Sub
Private Sub mnunodesetup_Click()
mnuproper_Click
End Sub
Private Sub mnuopenproject_Click()
Load frmexport
frmexport.Show
End Sub
Private Sub mnuprint_Click()
frmPrint.Show vbModal
End Sub
Public Sub mnuprintsetup_Click()
On Error Resume Next
With CdlExportMap
.PrinterDefault = True 'False ''
.Flags = cdlPDPrintSetup + cdlPDReturnDC
.ShowPrinter
Printer.Orientation = .Orientation
End With
End Sub
Private Sub mnuproper_Click()
On Error Resume Next
Mapshow.CurrentTool = miSelectTool
Toolbar1.Refresh
Dim FtrSel As Feature
Dim FtrSels As Features
Dim Lyr As mapxlib.Layer
Dim Fid As String
Dim LinkFidId As Long
Dim RsDel As Recordset
Dim RespDel
Dim SelNum
SelNum = 0
For Each Lyr In Mapshow.Layers
SelNum = SelNum + Lyr.AllFeatures.Count
Next
If SelNum = 0 Then
MsgBox "請選擇對象查看!"
Exit Sub
End If
step = 0
Set Lyr = Mapshow.Layers("Node")
For Each FtrSel In Lyr.Selection
step = step + 1
Next
If step <> 0 Then
If step > 1 Then
MsgBox "選擇的節點超過1個,軟件只顯示編號在前的節點屬性!"
End If
For Each FtrSel In Lyr.Selection
'首先從數據庫中刪除記錄
Fid = Lyr.KeyField
FidIdEdit = FtrSel.KeyValue
X1 = FtrSel.CenterX
Y1 = FtrSel.CenterY
Load NodeFrmEdit
NodeFrmEdit.Show
Next
End If
Set Lyr = Mapshow.Layers("Link")
step = 0
For Each FtrSel In Lyr.Selection
step = step + 1
Next
If step <> 0 Then
If step > 1 Then
MsgBox "選擇的路段超過1個,軟件只顯示編號在前的路段屬性!"
End If
For Each FtrSel In Lyr.Selection
'首先從數據庫中刪除記錄
Fid = Lyr.KeyField
FidIdEdit = FtrSel.KeyValue
LinkLength = FtrSel.Length
Load FrmLinkEdit
FrmLinkEdit.Show
Next
End If
End Sub
Private Sub mnusearch_Click()
Load FrmSearch
FrmSearch.Show
End Sub
Private Sub openproject_Click()
Dim sFile As String
Dim sDir As String
'
On Error GoTo MapErr
With dlgCommonDialog
.DialogTitle = "Open"
.Flags = 0
.CancelError = False
.FileName = ""
.Filter = "GIS-T Interface Files (*.mdb)|*.mdb"
.ShowOpen
If Len(.FileName) = 0 Then
Exit Sub
End If
sFile = .FileName
End With
Set mDbBiblio = DBEngine.Workspaces(0).OpenDatabase(sFile)
Dim FilePlace
FilePlace = InStrRev(sFile, "\")
sDir = Left(sFile, FilePlace)
Dim Lyr As mapxlib.Layer
ProjectPath = sDir
MDBPath = sFile
Mapshow.Layers.Add sDir & "link.tab"
Mapshow.Layers.Add sDir & "node.tab"
Set Lyr = Mapshow.Layers("Link")
Mapshow.Bounds = Lyr.Bounds
Open ProjectPath & "setup.ini" For Input As #1
Do While Not EOF(1)
Input #1, NodeRadius, NodeColor, LinkWidth, LinkColor
Loop
Close #1
Open App.Path & "\setup\recent.dat" For Append As #1
Print #1, sFile
Close #1
Call MnuControl
Exit Sub
MapErr:
Dim RespErr
RespErr = MsgBox("打開項目錯誤,請檢查項目文件是否完整!", vbExclamation, "項目打開錯誤!")
Close #1
End Sub
Private Sub readvolume_Click()
Load FrmImportVolume
FrmImportVolume.Show
End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
On Error Resume Next
Dim i
Dim j
j = Button.Index
For i = 1 To 25
Toolbar1.Buttons(i).Value = tbrUnpressed
Next i
If j > 5 Then
Toolbar1.Buttons(j).Value = tbrPressed
End If
If j = 21 Or j = 22 Then
Toolbar1.Buttons(j).Value = tbrUnpressed
End If
Toolbar1.Refresh
Select Case Button.Key
Case "New"
mnunewproject_Click
Case "Open"
openproject_Click
Case "Print"
mnuprint_Click
Case "layer"
mnulayerscontrol_Click
Case "Arrow"
mnuToolsArrow_Click
Case "Zoom In"
mnuToolsZoomIn_Click
Case "Zoom Out"
mnuToolsZoomOut_Click
Case "Pan"
mnuToolsPan_Click
Case "Ruler"
mnuToolsRuler_Click
Case "Select"
mnuToolsSelect_Click
Case "Select Rectangle"
mnuToolsSelectRectangle_Click
Case "Select Radius"
mnuToolsSelectRadius_Click
Case "Select Polygon"
mnuToolsSelectPolygon_Click
Case "Label"
mnuToolsLabel_Click
Case "Add Symbol Annotation"
mnuToolsAddSymbolAnnotation_Click
Case "Add Text Annotation"
mnuToolsAddTextAnnotation_Click
Case "Add Node"
mnuaddnode_Click
Case "Add Link"
mnuaddlink_Click
Case "delete"
mnudeleteit_Click
Case "proper"
mnuproper_Click
Case "search"
mnusearch_Click
End Select
End Sub
Private Sub mnuToolsRuler_Click()
Main.Mapshow.CurrentTool = 101
frmRuler.Show
mnuToolsArrow.Checked = False
mnuToolsZoomIn.Checked = False
mnuToolsZoomOut.Checked = False
mnuToolsPan.Checked = False
mnuToolsRuler.Checked = True
mnuToolsSelect.Checked = False
mnuToolsSelectRectangle.Checked = False
mnuToolsSelectRadius.Checked = False
mnuToolsSelectPolygon.Checked = False
mnuToolsLabel.Checked = False
mnuToolsAddSymbolAnnotation.Checked = False
mnuToolsAddTextAnnotation.Checked = False
Dim i
For i = 1 To 25
Toolbar1.Buttons(i).Value = tbrUnpressed
Next i
Toolbar1.Buttons(10).Value = tbrPressed
Toolbar1.Refresh
End Sub
Private Sub mnuToolsAddSymbolAnnotation_Click()
Mapshow.CurrentTool = miSymbolTool
mnuToolsArrow.Checked = False
mnuToolsZoomIn.Checked = False
mnuToolsZoomOut.Checked = False
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -