Aşağıdaki resimden görebilirsiniz.
Şimdi de butonlarımıza yaklaştır, uzaklaştır ve seç komutları atayalım.
ilk butonumuz yakınlaştır olsun. butona tıklayıp kodlarını açalım. İçine mi.Do("run menu command 1705"); komutunu yazın. Bu komut haritaya yakınlaşmamızı sağlayacak. Mapinfo'da komutların birer İd'sinin olduğunu söylemiştik. 1705 rakamı yakınlaşma için kullanılmaktadır.
Haritadan uzaklaşma içinse mi.Do("run menu command 1706"); komutunu buton içerisine yazın. Haritada şehir seçmek içinse mi.Do("run menu command 1701"); komutunu buton içerisine yazın.bir buton daha ekleyelim ve bu butonla haritayı tutup hareket ettirelim. Bunun içinde mi.Do("run menu command 1702"); komutunu kullanın.
programımızı çalıştırdığımızda aşağıdaki resimler gibi olacaktır.
Şimdi bir de illerimizin isimlerini gösterip gizleyelim bir buton daha koyun. butonclicke gelin. İlk olarak haritanın etiketlerinin açık olup olmadığını kontrol etmemiz gerekecek. açıksa buton kapatacak. kapalıysa etiketleri açacak. Bunun için bool tipinde bir değişken tanımlayalım. değeri false olsun. Penceremizin id'sini alabilmek için Form_load fonksiyonunun içine win_id = mi.Eval("frontwindow()"); yazalım. Böylelikle Mapinfodaki pencereyi prgramımıza bildirmiş olacağız. Win_id String olacak. public static string win_id; olarak tanımlamalısınız.
Şimdiki komutlar kontolü yapıp atiketleri açıp kapatacak.
bool c = false;
private void button5_Click(object sender, EventArgs e)
{
if (c == false)
{
mi.Do("Set Map Window " + win_id + " Layer 1 Label Auto On");
c=true;
}
else
{
mi.Do("Set Map Window "+ win_id + " Layer 1 Label Auto Off");
c = false;
}
}
}
c eger false ise yani etiketler kapalı ise Label Auto On etiketleri açar . Eğer açıksa Auto Off etiketleri kapatır.
Aşağıdaki resimde il isimlerini etiketler şeklinde göreceksiniz.
Yazıyı uzun tutmak istemiyorum bu sebeple String şeklinde yazdığım Mapnfo komutlarını nasıl öğrendiğimizi bir sonraki derste anlatayım. Hoşçakalın. Proje dosyasına MapInfo_ders4 klasörü altından ulaşabilirsiniz.
Hiç yorum yok:
Yorum Gönder