Tekil Mesaj gösterimi
Alt 26 Eylül 2006, 00:33   #1
Çevrimdışı
McKruGer
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
MDX TreeView ile Ayarlar Merkezi Tasarımı




MDX TreeView (Mdx Ayarlar) Nedir?

Bu ders MDX TreeView (Mdx Ayarlar) diye nitelendirilen, artık birçok scriptte kullanılan, profesyonel script olarak nitelendirilebilecek scriptlerde kullanılan ve birçok ayarın bu tek dialogda toplandığı (Mirc Ayarlar menüsü gibi) dialogu mdx ile nasıl yapıldığını anlatır...

Ders zamanla güncellenecerek genişletilecektir.. zaman azlığı nedeniyle çok ayrıntıya girmeden genel olarak anlatacağım.. Burada şunu da unutmamak gerekir; bu ders daha çok belli bir takım birikimlere sahip olan arkadaşlara hitap eder.. Bu ders mirc script işlerine yeni başlayanlar için değildir...

1.Aşama - Dersde kullanılan Dosyaların İndirilmesi ve Dosyaların Listesi

Kodun ve Dosyaların İndirileceği Adres --> [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Bu dersimizde kullandığımız dosyalar aşağıdadır.
- mdx.dll
- views.mdx
- bars.mdx
- 8 tane icon

Mdx.dll ve views.mdx dialogun kullanılmasında zorunlu olan dosyalardır... bars.mdx ise Dialogun üstünde kullanılan X Script Genel Ayarlar yazısının oluşturulmasında ve arka planının beyazımsı hale getirilmesinde kullanıldı.. Ben oraya resim koymak yerine kendimce böyle bir yol seçtim.. Dileyenler bu bölüme kendi resimlerini kullanırlar...


2.Aşama - MDX TreeView Kodunun Hazırlanması

Bu Kodu alt+r ye basılıp açılan Remote penceresinde boş bir sayfaya yerleştiriyorsunuz ve scriptinizin /remote on (remotelerinin açık olduğuna) olduğuna emin olunuz...


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on *:start: { .baglantimenusu } alias baglantimenusu { dialog -m ayarlar ayarlar | did -v ayarlar 8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23 } alias otokanal { dialog -m ayarlar ayarlar | did -v ayarlar 24,25,26,27,28,29,30,31,32,33,34,35,36 } alias otonick { dialog -m ayarlar ayarlar | did -v ayarlar 37,38,39,40,41,42,43,44,45,46,47,48,49 } dialog ayarlar { title " X Script - Genel Ayarlar [ Kısayol Tuşu: F6 ] " size -1 -1 252 200 option dbu icon icon\Ayarlar.ico, 0 ;Yan Liste list 1, 5 26 68 149, size extsel button "Tamam", 2, 139 180 50 15, OK button "Yardım", 3, 20 180 45 15 ;Üst yazı text "", 4, 5 3 241 19 list 5, 200 2 25 14, size disable text " X Script - Genel Ayarlar Merkezi", 6, 7 7 170 12 box "",7, 5 -1 242 23 ;Bağlantı Menüsü combo 8, 90 36 90 120, drop box "Sunucu Ayarları", 9, 78 24 168 64 button "Ekle",10, 195 36 30 11 button "Sil",11, 195 49 30 11 button "Düzenle",12, 195 62 30 11 button "IRC Servere Bağlan", 13, 102 54 55 12 check "Yeni Sunucu Penceresi Aç", 14, 100 71 96 14, flat box "Bağlantı Ayarları", 15, 78 90 168 85 edit "", 16, 135 100 90 12 edit "", 17, 135 117 90 12 edit "", 18, 135 135 90 12 edit "", 19, 135 154 90 12 text "İsim :", 20, 113 102 20 10 text "E-Posta Adresi :", 21, 87 119 48 10 text "Nick :", 22, 113 137 20 10 text "Alternatif Nick:", 23, 90 156 45 10 ;Otomatik Kanal Girişi box "Otomatik Kanal Ayarları", 24, 78 24 168 151 text "Otomatik Kanal Listesi", 25, 108 38 70 12 list 26,85 52 150 75 check Otomatik Giriş Açık, 27, 173 160 62 11, flat button "Ekle", 28, 170 127 30 12 button "Sil", 29, 170 142 30 12 Text "Kanal :", 30, 85 129 18 11, read autohs center edit "#", 31, 110 127 55 12, autohs Text "Şifre :", 32, 85 144 16 12, read autohs center edit "", 33, 110 142 55 12, autohs Text "Server :", 34, 85 160 21 11, read autohs center edit "irc.", 35, 110 158 55 12, autohs icon 36, 85 33 100 57, icon\kanallar.ico, 0 ;Otomatik Şifre Girişi box "Otomatik Şifre Ayarları", 37, 78 24 168 151 text "Otomatik Nick İdentify", 38, 108 38 70 12 list 39, 85 52 150 75 check Otomatik İdentify Açık, 40, 173 160 62 11, flat button "Ekle", 41, 170 127 30 12 button "Sil", 42, 170 142 30 12 Text "Kanal :", 43, 85 129 18 11, read autohs center edit "#", 44, 110 127 55 12, autohs Text "Şifre :", 45, 85 144 16 12, read autohs center edit "", 46, 110 142 55 12, autohs Text "Server :", 47, 85 160 21 11, read autohs center edit "irc.", 48, 110 158 55 12, autohs icon 49, 85 33 100 57, icon\key.ico, 0 } alias mdx return $dll($mircdir $+ \dll\mdx.dll,$1,$2-) alias views { return $shortfn($mircdirdll\views.mdx) } alias bars { return $shortfn($mircdirdll\bars.mdx) } alias ayarlariac { var %i = did -i ayarlar 1 1,%a = did -a ayarlar 1 +e %i iconsize normal small %i seticon normal 0, $+ icon\genel.ico %i seticon normal 0, $+ icon\kanallar.ico %i seticon normal 0, $+ icon\key.ico %i seticon normal 0, $+ icon\gorunum.ico %i seticon normal 0, $+ icon\s3.ico %i seticon normal 0, $+ icon\toolbar.ico %i seticon normal 0, $+ icon\simge.ico %i seticon normal 0, $+ icon\balon.ico %i cb root 1 %a 1 1 Bağlantı Menüsü %i cb root last 1 %a 2 2 Oto-Join %a 3 3 Oto-Identify %i cb root 1 %a 4 4 Görünümler %i cb root last 1 %a 5 5 Switchbar %a 6 6 Toolbar ve Diğer %a 7 7 Nicklistesi %a 8 8 Tray %i cb root 1 } alias sakla1 { did -h ayarlar 8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49 } alias goster.baglanti { sakla1 | did -v ayarlar 8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23 } alias goster.otokanal { sakla1 | did -v ayarlar 24,25,26,27,28,29,30,31,32,33,34,35,36 } alias goster.otonick { sakla1 | did -v ayarlar 37,38,39,40,41,42,43,44,45,46,47,48,49 } on *:dialog:ayarlar:*:*:{ if ($devent == init) { mdx SetMircVersion $version mdx MarkDialog $dname mdx SetControlMDX $dname 1 treeview hasbuttons haslines > $views mdx SetFont $dname 9,15,24,25,37,38 +a 14 600 Arial mdx SetColor $dname 9,15,24,37 text $rgb(0,14,255) mdx SetControlMDX $dname 26,39 ListView report grid rowselect showsel single > $views mdx SetFont $dname 26,39 13 600 Tahoma did -i $dname 26 1 headerdims 100 85 110 did -i $dname 26 1 headertext +c Kanal $chr(9) Şifre $chr(9) Server did -i $dname 39 1 headerdims 100 85 110 did -i $dname 39 1 headertext +c Nick $chr(9) Şifre $chr(9) Server did -i $dname 26,39 1 setbkg color $rgb(248,248,255) did -i $dname 26,39 1 settxt color $rgb(0,0,0) did -i $dname 26,39 1 settxt bgcolor $rgb(230,230,255) mdx SetBorderStyle $dname 4,6 mdx SetControlMDX $dname 5 toolbar flat list nodivider arrows > $bars did -i $dname 5 1 bmpsize 30 30 mdx SetBorderStyle $dname 5 mdx SetColor $dname 5 background $rgb(245,245,245) did -i $dname 5 1 setimage +nhd 0 icon large icon/ayarlar.ico did -i $dname 5 1 bwidth 250 250 did -a $dname 5 1 a mdx SetColor $dname 4,6 background $rgb(245,245,245) mdx SetColor $dname 4,6 textbg $rgb(245,245,245) mdx SetFont $dname 6 17 600 Tahoma ayarlariac sakla1 } if ($devent == sclick) { if ($did == 1) { tokenize 32 $did(1,1,1) if ($4 == 2) { if (!$5) { goster.baglanti } if ($5 == 2) { goster.otokanal } if ($5 == 3) { goster.otonick } } } }

Kod sonucu oluşan, MDX TreeView Resimi ise işte karşınızda :


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.



Bu işlemleri tamamlayınca, Şimdi gelelim Kodun sırayla açıklanmasına...


3.Aşama - Kodun Açıklanması

on *:start: { .baglantimenusu }

Bu Komut ; Script açıldığı zaman Mdx TreeView diyalogumuzun açılmasını sağlar. Eğer bu komut olmassa Mdx TreeView açılışta açılmaz. Eğer başlangıçta Mdx TreeView menüsünün açılmasını istemiyorsanız Kodda bu bölümü çıkarınız...

alias baglantimenusu { dialog -m ayarlar ayarlar | did -v ayarlar 8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23 }
alias otokanal { dialog -m ayarlar ayarlar | did -v ayarlar 24,25,26,27,28,29,30,31,32,33,34,35,36 }
alias otonick { dialog -m ayarlar ayarlar | did -v ayarlar 37,38,39,40,41,42,43,44,45,46,47,48,49 }

satırları dialogların bölümlerini açılmasında kullanacağımız kodlardır.. Bunlar farklı şekildede hazırlanabilirdi, fakat böylesi hem daha anlaşılır hemde kodlamada daha basit bir yöntem.. Tam olarak bunların ne işe yaradığını söylersek; /baglantimenusu komutunu kullandığımızda Bağlantı menüsü olan bölümdeki id'leri içeren alias komutumuz o bölümdeki idleri ( Resim 1 - Bağlantı Menüsü ) içerdiği için sadece o bölümle alakalı idleri açar ve dialogda yer alan diğer idler gösterilmez..

Bunun gibi /otokanal komutunda da sadece o bölümdeki id'leri içeren alias komutumuz o bölümdeki id'leri içerdiği için sadece o bölümle alakalı idleri açar ve dialogda yer alan diğer id'ler gösterilmez.. Yani Bağlantı menüsünde yer alan o idler bu bölümü açtığımızda gösterilmez, saklanır. Böylece hiç bir bölüm birbiriyle karışmaz..

Son olarak /otonick komutunda da Otomatik identify bölümündeki id'leri içeren alias komutumuz o bölümdeki id'leri içerdiği için sadece o bölümle alakalı idleri açar ve dialogda yer alan diğer id'ler gösterilmez..
Görüldüğü gibi böyle bir yöntemle dialogların bölümlerini açtırmak basit bir yöntem olduğu gibi, düzenlenmesi de kolaydır. Hataların düzeltilmesinde, anlaşılmasında da size kolaylık sağlar..

Gelelim Ana dialogumuza; dialogu oluştururken bölüm bölüm başlık yerleştirdim kolaylık olması adına.. Tavsiyem sizde öyle edin.. Bu dialog oluşturma olayına pek girmiyorum ( çünkü bunun dersi zaten var ) ..
title " X Script - Genel Ayarlar [ Kısayol Tuşu: F6 ] " --> Bu kod dialogumuzun titlesi

size -1 -1 252 200 --> Bu dialogumuzun boyutlarını içeren kodumuz.. 252 sayısı genişliği belirtirken, 200 sayısı uzunluğunu belirtir..

option dbu --> dialogumuzun yapımında kullandığımız konumlandırma sayların ( sağ, sol üst, alt gibi ) hesaplanacağı yol... Bunun bir diğer seçeneği option pixels 'dir. Fakat bunu kullanırsanız tüm dialogda yer alan bu sayılarla oynamanız gerekecektir.. options pixels yöntemi daha çok, ince ayar gerektiren dialoglarda kullanılır..

icon icon\Ayarlar.ico, 0 --> Dialogumuzun Ana iconu..
Şimdi dialogu oluşturan yerlerin açıklamasına geldik;
yukarıdada dialoglarda yer alan bölümlere başlık koyarak işleri kolaylaştıracağız demiştik.. Burada ; Yan Liste bu başlıktır. yani komutsal anlamda hiç bir etkisi yoktur dialoga. Sadece o bölümlere giren kod bölümü nereler diye başlık başlık yaptım ben.. İsterseniz silebilirsiniz..

;Yan Liste
list 1, 5 26 68 149, size extsel --> Dialogumuzun Sol Yan liste menüsüdür.
1 Sayısı o Listenin ID numarasıdır.
- İlk 5 Sayısı: Soldan 5
- 26 Sayısı Üstten 26
- 68 Sayısı genişliği
- 149 Sayısı ise uzunluğunu belirten sayılardır..

;Üst yazı
text "", 4, 5 3 241 19
list 5, 200 2 25 14, size disable
text " X Script - Genel Ayarlar Merkezi", 6, 7 7 170 12
box "",7, 5 -1 242 23

Bu satırlar dialogun üstünde olan X Script Genel Ayarlar Merkezi yazısını oluşturan ve o bölümün rengini krem-beyazımsı renk haline getiren kodlardır. Bu satırları silebilir yerine resminizi içeren bir kod satırı ekleyebilirsiniz.. Ben bir daha resim ayarlamak ile uğraşmayayım diye böyle bir yol seçtim..

;Bağlantı Menüsü
combo 8, 90 36 90 120, drop
box "Sunucu Ayarları", 9, 78 24 168 64
button "Ekle",10, 195 36 30 11
button "Sil",11, 195 49 30 11
button "Düzenle",12, 195 62 30 11
button "IRC Servere Bağlan", 13, 102 54 55 12
check "Yeni Sunucu Penceresi Aç", 14, 100 71 96 14, flat
box "Bağlantı Ayarları", 15, 78 90 168 85
edit "", 16, 135 100 90 12
edit "", 17, 135 117 90 12
edit "", 18, 135 135 90 12
edit "", 19, 135 154 90 12
text "İsim :", 20, 113 102 20 10
text "E-Posta Adresi :", 21, 87 119 48 10
text "Nick :", 22, 113 137 20 10
text "Alternatif Nick:", 23, 90 156 45 10

Bu satırlar bağlantı menüsünü oluşturan kodlardır.. (Resim-1) Zaten başlıkla bu belirtilmiştir...

;Otomatik Kanal Girişi
box "Otomatik Kanal Ayarları", 24, 78 24 168 151
text "Otomatik Kanal Listesi", 25, 108 38 70 12
list 26,85 52 150 75
check Otomatik Giriş Açık, 27, 173 160 62 11, flat
button "Ekle", 28, 170 127 30 12
button "Sil", 29, 170 142 30 12
Text "Kanal :", 30, 85 129 18 11, read autohs center
edit "#", 31, 110 127 55 12, autohs
Text "Şifre :", 32, 85 144 16 12, read autohs center
edit "", 33, 110 142 55 12, autohs
Text "Server :", 34, 85 160 21 11, read autohs center
edit "irc.", 35, 110 158 55 12, autohs
icon 36, 85 33 100 57, icon\kanallar.ico, 0

Bu satırlar Otomatik Kanal girişini içeren kodlardır.. (Resim-2) Zaten başlıkla bu belirtilmiştir...


Konu McKruGer tarafından (01 Haziran 2010 Saat 01:59 ) değiştirilmiştir.
 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları reklam ver Benimmekan Mobil Sohbet