IGxObjectFilter の利用

投稿日:2016/9/1 (木) 更新日:

Sub test()
    Dim pWorkspaceFactory As IWorkspaceFactory
    Set pWorkspaceFactory = New AccessWorkspaceFactory
    'Set pWorkspaceFactory = New ShapefileWorkspaceFactory
    'Set pWorkspaceFactory = New FileGDBWorkspaceFactory
    'Set pWorkspaceFactory = New FileGDBScratchWorkspaceFactory
    'Set pWorkspaceFactory = New InMemoryWorkspaceFactory
     
    Dim pWorkspaceName As IWorkspaceName
    Set pWorkspaceName = pWorkspaceFactory.Create("D:\Workspace", "Workspace", Nothing, Application.hWnd)
     
    Dim pName As IName
    Set pName = pWorkspaceName
     
    Dim pWorkspace As IWorkspace
    Set pWorkspace = pName.Open
     
End Sub
 
 
Sub gxdlg()
    Dim pEnumGx As IEnumGxObject
     
    'フィルタの作成
    Dim pShpFilter As IGxObjectFilter
    Set pShpFilter = New GxFilterShapefiles
     
    Dim pLyrFilter As IGxObjectFilter
    Set pLyrFilter = New GxFilterLayers
     
    Dim pGxDialog As IGxDialog
    Set pGxDialog = New GxDialog
    pGxDialog.Title = "データの参照"
     
     
    Dim pFilterCol As IGxObjectFilterCollection
    Set pFilterCol = pGxDialog
'    pFilterCol.AddFilter pShpFilter, False
'    pFilterCol.AddFilter pLyrFilter, True 'pLyrFilter is the default filter.
     
    If Not pGxDialog.DoModalOpen(0, pEnumGx) Then
        Exit Sub 'キャンセルを押した場合
    End If
    MsgBox pEnumGx.Next.FullName
     
End Sub

関連記事

-プログラミング, ArcGIS
-, ,

Copyright© WINGFIELD since1981 , 2018 All Rights Reserved.