' ' Creado por SharpDevelop. ' Usuario: Germán Carrillo ' Fecha: 26/03/2007 ' Hora: 10:16 p.m. ' ' Para cambiar esta plantilla use Herramientas | Opciones | Codificación | Editar Encabezados Estándar ' Public Partial Class MainForm 'Clase MainForm Public Sub New() ' The Me.InitializeComponent call is required for Windows Forms designer support. Me.InitializeComponent() ' ' TODO : Add constructor code after InitializeComponents ' End Sub Sub MainFormLoad(ByVal sender As Object, ByVal e As EventArgs) 'Evento Load de la Forma axMap1.CursorMode=mapwingis.tkCursorMode.cmNone 'Se define el tipo de cursor que tendrá el componente AxMap End Sub Sub BtnZoomInClick(ByVal sender As Object, ByVal e As EventArgs) 'Evento click del botón BtnZoomIn axMap1.CursorMode = mapwingis.tkCursorMode.cmZoomIn 'Se define el tipo de cursor para el botón End Sub Sub BtnZoomOutClick(ByVal sender As Object, ByVal e As EventArgs) 'Evento click del botón BtnZoomOut axMap1.CursorMode = mapwingis.tkCursorMode.cmZoomOut 'Se define el tipo de cursor para el botón End Sub Sub BtnZoomPrevioClick(ByVal sender As Object, ByVal e As EventArgs) 'Evento click del botón BtnZoomPrevio axMap1.zoomtoprev 'Se define el método asociado al evento click del botón End Sub Sub BtnZoomCompletoClick(ByVal sender As Object, ByVal e As EventArgs) 'Evento click del botón BtnZoomCompleto axMap1.ZoomToMaxExtents 'Se define el método asociado al evento click del botón End Sub Sub BtnPanClick(ByVal sender As Object, ByVal e As EventArgs) 'Evento click del botón BtnPan axMap1.CursorMode = mapwingis.tkCursorMode.cmPan 'Se define el tipo de cursor para el botón End Sub Sub BtnAddLayerClick(ByVal sender As Object, ByVal e As EventArgs) 'Evento click del botón BtnAddLayer Dim Filename As String 'Se crea la variable que almacenará el nombre del Shapefile Dim FileSys As New Scripting.FileSystemObjectclass 'Se crea el objeto que manejará directorios y archivos del sistema Dim sf As New MapWinGIS.ShapefileClass 'Se crea el objeto Shapefile de la librería MapWinGis openFileDialog1.Filter= sf.CdlgFilter 'Se define un filtro para shapefiles en el diálogo openFileDialog1.Title = "Selecciona un Shapefile..." 'Se define un título para la ventana del diálogo openfiledialog1.FileName="" 'Se define la cadena de texto que aparece por defecto como el nombre del Shapefile a cargar openfiledialog1.ShowDialog 'Se llama el método que despliega el diálogo Filename = openFileDialog1.FileName 'Se obtiene el nombre del archivo cargado en el diálogo If FileSys.FileExists(Filename) = true Then 'Se chequea la existencia del archivo cargado en el diálogo AddShapefile (Filename) 'Si el archivo existe se llama la función para agregar el Shapefile al visor End If End Sub Private Sub AddShapefile(Filename As String) 'Subrutina AddShapefile Dim FileSys as New Scripting.FileSystemObjectClass 'Se crea el objeto que manejará directorios y archivos del sistema Dim pSf As MapWinGIS.Shapefile, lHandle As Long 'Se crea el objeto Shapefile de la librería MapWinGis y la variable que permitirá reconocer el layer unívocamente If LCase(microsoft.VisualBasic.Strings.Right(filename,3)) = "shp" Then 'Se realiza un chequeo de la extensión del archivo pSf = New MapWinGIS.ShapefileClass 'Se inicializa el objeto pSf If pSf.Open(Filename) = False Then 'Se chequea la apertura del archivo MsgBox ("El archivo " & Filename & " no se puede abrir" & vbCrLf , vbCritical) 'Se despliega un mensaje ante un error en la carga Exit Sub Else lHandle = axMap1.AddLayer(pSf, True) 'Se agrega el Shapefile al AxMap If lHandle < 0 Then Exit Sub 'Se abandona el programa si no se obtiene un manejador válido para el layer axMap1.set_LayerName (lHandle, FileSys.GetFileName(pSf.Filename)) 'Fija el nombre del layer 'En las siguientes 6 líneas se define la simbología de las geometrías punto, línea y polígono axMap1.set_ShapeLayerFillColor(lHandle, RGB(25 * Rnd()+220,25 * Rnd()+220, 25 * Rnd()+220)) axMap1.set_ShapeLayerLineColor (lHandle,RGB(71 * Rnd()+105, 71 * Rnd()+105, 71 * Rnd()+105)) 'Negro axMap1.set_ShapeLayerLineWidth (lHandle,0.1) axMap1.set_ShapeLayerPointColor(lHandle,RGB(71 * Rnd()+75,71 * Rnd()+75,71 * Rnd()+75)) axMap1.set_ShapeLayerPointType(lHandle, mapwingis.tkPointType.ptCircle) axMap1.set_ShapeLayerPointSize(lHandle, 4) End If Else MsgBox ("El archivo, " & Filename & " no es un shapefile.") 'Si el archivo cargado en el diálogo no es un Shapefile se despliega el mensaje de error End If End Sub End Class