Delphi code - DK for Delphi edition (FMX and VCL frameworks)
procedure TForm1.GISMouseMove(Sender: TObject; Shift: TShiftState; Y: Integer);
var
ptg : TGIS_Point ;
shp : TGIS_Shape ;
begin
if Gis.IeEmpty then exit ;
ptg := GIS.ScreenToMap( Point(x, y ) );
shp := TGIS_Shape( GIS.Locate( ptg, 5/GIS.Zoom ) ) ;
if shp = nil then
StatusBar.SimpleText := ''
else
StatusBar.SimpleText := shp.GetField('name');
end;
C++ Builder code - DK for Delphi edition (FMX and VCL frameworks)
void __fastcall TForm1::GISMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)
{
TGIS_Point ptg ;
TGIS_Shape *shp ;
if ( GIS->IsEmpty ) return;
ptg = GIS->ScreenToMap( Point(X, Y) );
shp = (TGIS_Shape *)( GIS->Locate( ptg, 5/GIS->Zoom, TRUE ) ) ;
if (shp == NULL)
StatusBar->SimpleText = "" ;
else
StatusBar->SimpleText = shp->GetField("name") ;
}
C# code - DK for .NET edition
private void GIS_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
{
TGIS_Point ptg ;
TGIS_Shape shp ;
if ( GIS.IsEmpty ) return ;
ptg = GIS.ScreenToMap( new Point( e.X, e.Y ) );
shp = (TGIS_Shape)GIS.Locate( ptg, 5/GIS.Zoom ) ;
if ( shp == null )
statusBar1.Text = "" ;
else
statusBar1.Text = shp.GetField( "name" ).ToString();
}
Java Swing code - DK for Java edition
private void GISMouseMoved(java.awt.event.MouseEvent evt)
{
TGIS_Point ptg ;
TGIS_Shape shp ;
if ( GIS.getIsEmpty() ) return ;
ptg = GIS.ScreenToMap( new TPoint( evt.getX(), evt.getY() ) );
shp = (TGIS_Shape)GIS.Locate( ptg, 5/GIS.getZoom() ) ;
if ( shp == null )
jTextField.setText("") ;
else
jTextField.setText(shp.GetField( "name" ).ToString());
}
Visual Basic 6 code - DK for ActiveX edition
Private Sub GIS_OnMouseMove(translated As Boolean, ByVal shift As TatukGIS_DK.X_ShiftState,
ByVal X As Long, ByVal Y As Long)
Dim ptg As XGIS_Point
Dim shp As XGIS_Shape
If GIS.IeEmpty Then Exit Sub
Set ptg = GIS.ScreenToMap(GisUtils.Point(X, Y))
Set shp = GIS.Locate(ptg, 5 / GIS.Zoom)
If shp Is Nothing Then
StatusBar.SimpleText = ""
Else
StatusBar.SimpleText = shp.GetField("name")
End If
End Sub
Visual C++ code - DK for ActiveX edition (MFC)
void CLocateDlg::OnOnMouseMove(BOOL FAR* translated, long button,
long shift, long X, long Y)
{
IXGIS_Point ptg ;
IXGIS_Shape shp ;
if ( m_gis.get_IsEmpty() ) return ;
ptg = m_gis.ScreenToMap( m_utils.Point( X, Y ) ) ;
shp = m_gis.Locate( ptg, 5. / m_gis.get_Zoom() ) ;
if ( shp.m_lpDispatch != NULL ) {
var = shp.GetField( "NAME" ) ;
str = var.bstrVal ;
SetDlgItemText( IDC_LABEL, str );
}
else {
SetDlgItemText( IDC_LABEL, _T("") );
}
}
Visual Basic .NET code - DK for ActiveX edition
Private Sub GIS_OnMouseMoveEvent(ByVal eventSender As System.Object,
ByVal eventArgs As
AxTatukGIS_DK.IXGIS_ViewerWndEvents_OnMouseMoveEvent)
Handles GIS.OnMouseMove
Dim ptg As TatukGIS_DK.IXGIS_Point
Dim shp As TatukGIS_DK.IXGIS_Shape
If GIS.IeEmpty() then Exit Sub
ptg = GIS.ScreenToMap(GisUtils.Point(eventArgs.x, eventArgs.y))
shp = GIS.Locate(ptg, 5 / GIS.Zoom)
If shp Is Nothing Then
StatusBar1.Text = ""
Else
StatusBar1.Text = shp.GetField("name")
End If
End Sub
C# code - DK for ActiveX edition
private void GIS_OnMouseMove(object sender, AxTatukGIS_DK.IXGIS_ViewerWndEvents_OnMouseMoveEvent e)
{
TatukGIS_DK.XGIS_Point ptg;
TatukGIS_DK.IXGIS_Shape shp;
if ( GIS.IsEmpty ) return ;
ptg = GIS.ScreenToMap( GisUtils.Point(e.x, e.y ) );
shp = ( TatukGIS_DK.IXGIS_Shape ) GIS.Locate( ptg, 5/GIS.Zoom , true);
if( shp == null )
statusBar1.Text = "";
else
statusBar1.Text = ( string ) shp.GetField("name");
}