Harita Penceresindeki Sağ Tuşu Özelleştirme

MapInfo’da harita penceresine ait sağ tuş menüsüne yeni menü seçenekleri ekleyebiliriz. Mesela çok sık kullandığımız ama ancak birkaç tıklamayla ulaşabileceğimiz MapInfo menülerini bu sağ tuş menüsüne eklersek çalışma hızımızı az da olsa arttırabiliriz.

Örneğin bol editlemeli ve silmeli bir güncelleme çalışmasında sık sık Pack Table komutunu kullanmamız gerekebilir. Bu yüzden Table > Maintenance > Pack Table… menülerini tıklamaktansa haritaya sağ tıklayarak Pack Table… menüsünü tıklamak biraz daha kolay olacaktır.

Bunun için MapInfo kurulum dizininde (Varsayılan yol: C:\Program Files\MapInfo\Professional) bulunan MAPINFOW.MNU dosyasını bir text editöründe açın.

Ama bir dakika! Öncelikle bu dosyayı değiştirmenin son derece riskli bir iş olduğunu hatırlatalım. Bu dosyayı değiştirirken mesela bir virgül hatası yaparsak şöyle bir hata alırız:

Yeterince açık bir mesaj değil mi? Bununla MapInfo bağırarak diyor ki:

“MapInfow.mnu dosyasında yaptığınız bir syntax hatasından dolayı başlayabilmem mümkün değil.”

Böyle bir durumla karşılaşınca ya hatalı satırı bulup elle düzeltmemiz gerekir ya da… Daha da garantisi ilk önce MapInfow.mnu dosyasının yedeğini alıp daha sonra gönül rahatlığıyla istediğimiz değişiklikleri yapmak.

Yeni menüyü eklemek için MapInfow.mnu dosyasındaki

"&Pack Table..."
HelpMsg "Compress tables to conserve space and eliminate deleted records."
calling 403

satırını bulun ve Ctrl+C ile kopyalayın. Daha sonra harita penceresinin kısayol menüsünü bulup bu menü grubunun en sonuna yapıştıracağız. Bunun için yine MapInfow.mnu dosyasındaki

Create Menu "MapperShortcut" ID 17 As

satırını bulun. Buradaki menülerin en sonuna (diğer deyişle Create Menu "BrowserShortcut" ID 18 As satırının hemen öncesine) gidin ve buraya yapıştırın. Son durum aşağıdaki gibi olmalıdır:


"Get &Info...\tF7/W%118"
HelpMsg "Display information about the selected object."
calling 207,
"(-",
"&Pack Table..."
HelpMsg "Compress tables to conserve space and eliminate deleted records."
calling 403
Create Menu "BrowserShortcut" ID 18 As

Bu değişikliğin etkili olması için MapInfo’yu kapatın ve yeniden açın. Bir harita penceresine sağ tıklayın. Yeni Pack Table… menümüz şekildeki gibi en sona eklenmiş olacaktır:

Harita sağ tuş menüsüne (Mapper Shortcut) yeni seçenekler eklemenin yanı sıra bu menüyü sıfırdan da oluşturabiliriz. Bunun için ufak bir MapBasic programı yazacağız:

Include "menu.def"

Create Menu "MapperShortcut" As
  "Büyüt" calling M_TOOLS_EXPAND,
  "Küçült" calling M_TOOLS_SHRINK,
  "(-",
  "Katmanın Tümünü Göster..." calling 807

Bu MapBasic progrmını çalıştırıp haritaya sağ tıkladığımızda aşağıdaki gibi tamamen yeni bir sağ tuş menüsü görürüz:

Bu da bizim kendi sağ tuş menümüz.

Bu koddan da tahmin edilebileceği üzere harita sağ tuş menüsünü komple iptal de edebiliriz. Bunun için aşağıdaki tek satırlık MapBasic kodu yeterli:

Create Menu "MapperShortcut" As "(-"

Peki MapInfo’nun varsayılan harita sağ tuş menüsüne geri döndüren bir komut var mı? Evet:

Create Menu "MapperShortcut" As Default

komutu ile MapInfo’nun orijinal harita sağ tuş menüsünü geri getirebiliriz.

Kendi Yazdığımız MapBasic Programlarını Harita Sağ Tuş Menüsünde Kullanma

Bu iş için de tabii ki bir MapBasic yazmamız gerekiyor:

include "menu.def"

declare sub main
declare sub AddObject
declare sub RemoveObject

sub main()
  Create Menu
    "MapperShortcut" As
      "Nesne Ekle" calling AddObject,
      "Nesne Sil" calling RemoveObject
end sub

sub AddObject()
  note "Nesne ekleyen prosedür çalıştı!"
end sub

sub RemoveObject()
  note "Nesne silen prosedür çalıştı!"
end sub

Bu programı çalıştırdığımızda harita sağ tuş menüsü değişecek ve “Nesne Ekle” ve “Nesne Sil” adlı 2 menü oluşacaktır. Bu menülere tıklandığında sırasıyla AddObject() ve RemoveObject() prosedürleri çalışacaktır.

  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: