Declare Sub Main Declare Sub SynchroMap Declare Sub End_Process
Sub Main 'メニュー Create Menu "地図同期" As "終了" ID 1010 Calling End_Process Alter Menu ID 4 add "" As "地図同期" 'ボタンパッド Alter ButtonPad ID 3 Add PushButton Calling SynchroMap Icon MI_ICON_TRANSPORT_25 HelpMsg "カレントマップに対し、他のマップウィンドウ表示位置を同期します\地図同期" end sub
Sub SynchroMap Dim iNumWin As integer Dim iFWinID as integer Dim iz,ix,iy as float Dim i as integer
'ウィンドウ数 iNumWin = NumWindows() 'ウィンドウ数が0以上ならば if iNumWin > 0 then iFWinID = FrontWindow() 'フロントウィンドウがマップウィンドウならば if WindowInfo (iFWinID,WIN_INFO_TYPE) = WIN_MAPPER then iz = MapperInfo(iFWinID,MAPPER_INFO_ZOOM) ix = MapperInfo(iFWinID,MAPPER_INFO_CENTERX) iy = MapperInfo(iFWinID,MAPPER_INFO_CENTERY) '全ウィンドウループ for i=1 to iNumWin 'フロントウィンドウ以外のマップウィンドウならば if WindowID(i) <> iFWinID and WindowInfo(WindowID(i),WIN_INFO_TYPE)=WIN_MAPPER then 'センター&ズームをコピー Set Map Window WindowID(i) Center (ix,iy) Zoom iz end if next else Note "アクティブウィンドウは地図ウィンドウではありません。" End if else note "アクティブなウィンドウがありません。" end if end sub