Dialoglar Hakkında Herşey
;-----------------------------------------------
; Dialog Yardım Dosyası
; Anlatım by Cappystarj0e
;----------------------------------------------
; Örnek Dialog Penceresi
Bu dialog da hemen hemen bütün dialog elemanları tanıtılmıştır. Code kısmını mirc'in remotesine yapıştırıp [b]/Ornek yazarak dialog'u açabilirsiniz fakat iconlar hata verebilir o yüzden icon ların bulunduğu satırları ya kendinize göre ayarlamanız yada silmeniz önerilir.[/b]
Şimdi sırayla bunların ne anlama geldiklerini ve nasıl çalıştıklarını anlatmaya çalışayım.
::::: DIALOG ELEMANLARI :::::
::: Size :::
Size [X] [Y] [W] [H]
Dialog'un boyutlarını belirler 4 parametresi vardır.
ilk iki parametre genelde -1 olarak kullanılır. Bu şekilde kullanıldığı zaman dialog penceresinin ekranın ortasında açılmasını sağlar. Eğer siz buraya başka değerler girerseniz girdiğiniz değerlere göre ekranın belirli bir bölgesinde açığa çıkar.
3. [W] parametresi soldan sağa ne kadar boyutta olduğunu gösterir.
4. [H] parametresi de yukarıdan aşağıya ne kadar boyutta (büyüklükte) olacağını gösterir.
::: Title :::
Title "yazı..."
Dialog pencresinin en üst bandında (Titlebar) yer alan yazıyı kontrol etmek için kullanılır.
::: Edit :::
edit "yazı..." [N], [X] [Y] [W] [H], [read | pass | multi | return | autohs | autovs | hsbar vsbar | limit N ]
Dialog penceresinde bir satır meydana getirmek için kullanılır. Yalnız bu ve bundan sonra anlatacağım dialog elemanlarının index numaraları vardır. Yani her eleman kendisini tanıtan bir sayıya eşdeğerdir. Dialog komutlarında bu sayı ile tanınır. Yukarıda verdiğimiz örnekte edit in index numarası 1 dir. 1 den sonra görüleceği üzere yine 4 tane parametre mevcuttur. Bundan sonra gelen parametreler Dialog penceresine yerleştireceğiniz elemanın görünümü ve değişik kullanımları ile alakalı parametrelerdir.
Örneğin...
read; edite bir yazı girilmesini engeller. Sadece editteki yazıyı okuyabilirsiniz.
pass; edit'e girilen bir sayının *** şeklinde gözükmesini sağlar. Onu gizler.
multi; editte normalde 1 satır vardır. editi 1 den fazla satır halinde kullanmak için bu parametre kullanılır. vs.
::: Text :::
Text "yazı..." [N], [X] [Y] [W] [H]
Dialog penceresine yazı yazmak için kullanılır.
::: Button :::
Button "yazı..." [N], [X] [Y] [W] [H], [ default | flat | multi | OK | CANCEL ]
Dialog'da button oluşturmak için kullanılır.
Flat; Button görünümü ile alakalıdır.
Default; Buttonun dialog penceresi açıldığı andan itibaren üstünde bir karatı gözükmesi olayıdır. Yani diğer elemanlardan daha aktif bi şekilde gözükür seçiliymiş gibi görünür. O durumu bozmadığınız sürece Enter'a bastığınız zaman o butona basmış olursunuz.
::: List :::
List [N], [X] [Y] [W] [H], [ sort | extsel | hsbar | vsbar | size ]
Dialog da Listeler oluşturmak için kullanılır.Bilinen [N], [X] [Y] [W] [H] parametrelerinin dışında [ sort | extsel | hsbar | vsbar | size ] gibi parametreleri mevcuttur.
Sort; Listeye girilen yazıların listede alfabetik sırayla düzenlenmesini sağlar.
Extsel; Listede birden fazla seçim yapmanıza imkan sağlar.
hsbar & vsbar; Liste kontrolü için sağdan sola ve aşağıdan yukarıya scrolleri etkinleştirir.
size; Bu da sanırım listenin boyutu ile alakalı bir parametre ama tam olarak ne oldugunu bilmiyorum. Ama listelerin hemen hepsinde var.
::: Combo :::
Combo [N], [X] [Y] [W] [H], [ sort | size | edit | hsbar | vsbar | drop ]
Dialog da aktif bir edit elemanı oluşturmak için kullanılır. 2 kullanımı vardır.
1.si Liste şeklinde olanıdır. Üstte bir satır altta bir liste şeklinde...
2.si Tıklandığında aşağıya açılabilen bir edit görünümündedir. İçinde bir çok satır barındırır.
Bu özellikleri "drop" parametresi ile belirlenir. Eğer drop u kullanırsanız. Combo'nuz 2. tipte çalışır.
List'in parametreleri ile aynı olan parametreler List'deki görevler ile aynı görevleri yapar.
Edit; Combo da seçilen bir satırın kontrol edilebilmesi için kullanılır. Yani eğer bu parametre kullanılmamışsa combo daki satırları kullanıcı değiştiremez. Ona sadece seçenekler sunarsınız. Eğer edit kullanılırsa combo içindeki bir satırı kullanıcıya da değiştirtebilirsiniz.
::: Box :::
Box "yazı..." [N], [X] [Y] [W] [H]
Dialog elemanlarını bir çerçeve içinde toplamak için kullanılır.
::: Radio :::
Radio "yazı..." [N], [X] [Y] [W] [H], [ group | flat | left | push ]
Bir kez tıklandığında ancak grup içerisinde başka radyo düğmesi var iken değeri değişebilen bir elemandır. Seçenekler için kullanılır. Örneğin, kullanıcı birçok seçenek içinden sadece 1 tane veya sadece belirli sayıda seçeneği seçebilecek durumdaysa Radyo düğmesi kullanılır.
Group; Birçok seçeneği grup halinde toplamak ve kullanıcıya bunlardan sadece 1 tanesini seçtirmek için kullanılan bir parametredir. Group içinde bulunan radyo düğmelerine tıkladığınızda sadece 1 i tıklı gözükür diğerine tıkladığınız zaman tıklı gözüken radyo düğmesi boş olur. Böyle bir düzeneği ancak group parametresi ile sağlayabilirsiniz.
Flat; Radyo düğmesinin görünümü ile alakalı bir parametredir.
Left; Bu parametreyi kullanmazsanız, Tıklanacak kısım solda yazı kısmı sağda olacak şekilde bir Radyo düğmesi oluşturmuş olursunuz. Eğer bu parametreyi kullanısanız yazı kısmını sola, tıklanacak kısmı da sağa çekmiş olursunuz.
Push; Radyo düğmesinin Button gibi gözükmesini sağlar. Yalnız button dan farklı olarak basıldığı zaman basılı kalır. Ve group içinde aynı radyo düğmesi gibi davranır.
::: Check :::
Check "yazı..." [N], [X] [Y] [W] [H], [ 3state | flat | left | push ]
Seçeneklerin aktif olduğunu göstermek amacıyla kullanılır. Yani bir seçeneği seçtiğimizi belirtmek için kullanabiliriz. Radyo düğmesi ile biraz benzerlik göstermektedir.Fakat Tek bir Radyo düğmesi tıklandığında değeri değişemezken bir check düğmesinin değerini istediğimiz gibi değiştirebiliriz. Yani tıklı halden boş hale, boş halden tıklı hale geçirebiliriz. Radyo düğmesi ile aynı olan parametreleri aynı görevleri yaparlar.
3state; Görünüm ile alakalı bir parametredir.
::: Icon :::
1] icon [Dosya yolu], [Index]
2] icon [N], [X] [Y] [W] [H], [Dosya yolu], [Index], [ noborder | Left | Right | bottom | Top | Center ]
Bu dialog elemanının 2 kullanım şekli vardır.
1.si Dialog penceresinin title barda yer alan (sol üst köeşedeki) iconunu kontrol etmek için kullanılır.
2.si Dialog penceresine bir resim eklemek için kullanılır.
Left | Right | bottom | Top | Center ; parametreleri icon elemanının [X] [Y] [W] [H] değerleri ile oluşturulan alanda nasıl yerleştirileceği ile ilgili olan parametrelerdir.
[Index] i tam olarak bilmiyorum.Ama genelde sıfır olarak kullanıyorum.
::: Tab :::
Tab "yazı...", [N], [X] [Y] [W] [H]
Dialog penceresindeki alanı kullanma açısından büyük faydalar sağlar.Aynı alanda birçok elemanı tab ile kullanabilirsiniz.Burda dikkat edilmesi gereken husu şudur: Tab içinde kullandığımız herhangi bir dialog elemanının parametresine "tab [N]" i eklemeliyiz.
Örneğimizde de görüleceği üzere;
icon 9, 17 140 98 42, C:\resimlerim\deneme.bmp, 1, tab 8 noborder bottom
9 numaralı icon elemanı 8 numaralı tab içinde kullanıldığı için sonuna "tab 8" gibi bir parametre konulmuş.Bu 9 numaralı icon elemanının sadece 8 numaralı tab içerisinde aktif olacağını ifade eder.
::: link :::
Link "yazı...", [N], [X] [Y] [W] [H]
Link oluşturmak için kullanılır.Tek başına çalışmaz.Aktif olması için kod gerekir.
;----------------------------------------------------------------------
::::: DIALOG OLAYLARI (DIALOG EVENTS) :::::
on 1:dialogialogIsmi:Olay(Event):[N]: { ...kodlar... }
On 1:dialog:isim:INIT:0:{ ...kodlar... } ;>> Buradaki dialog olayı INIT'dir Dialog'un ilk gösterildiği anda nelerin yapılaması gerektiği buraya yazılır.
On 1:dialog:isim:CLOSE:0:{ ...kodlar... } ;>> Dialog kapanırken nelerin yapılması gerektiği buraya yazılır.
On 1:dialog:isim:EDIT:[N]:{ ...kodlar... } ;>> [N] numarasına sahip bir edit veya combo elemanının içinde bir değişiklik yapıldığı zaman ne yapılması gerektiği buraya yazılır.
On 1:dialog:isim:SCLICK:[N]:{ ...kodlar... } ;>> [N] numarasına sahip bir elemanın üzerinde tek bir tıklama yapıldıgı zaman ne yapılacağı buraya yazılır.
On 1:dialog:isim:DCLICK:[N]:{ ...kodlar... } ;>> [N] numarasına sahip bir elemanın üzerinde çift tıklama yapıldıgı zaman ne yapılacağı buraya yazılır.
On 1:dialog:isim:MENU:[N]:{ ...kodlar... } ;>> Menu'de bir seçenek seçildiği zaman ne yapılacağı buraya yazılır.
On 1:dialog:isim:SCROLL:[N]:{ ...kodlar... } ;>> Dialogda kullanılan bir [N] numarasına sahip elemanın scroll'unun pozisyon değiştirmesi durumunda yapılacak olan işlemler buraya yazılır.
::: Mouse Event'ları :::
on 1:dialog:isim:MOUSE:[N]:{ ...kodlar.. } ;>> Mouse [N] numaralı elemanın üzerine geldiğinde yapılacak işlemler...
on 1:dialog:isim:sclick:[N]:{ ...kodlar... } ;>> Mouse un Sol tuşuyla [N] elemanına tıklanırken yapılacak işlemler...
on 1:dialog:isim:uclick:[N]:{ ...kodlar... } ;>> Mouse un sol tuşuyla [N] elemanına tıklandıktan sonra yapılacak işlemler...
on 1:dialog:isim:dclick:[N]:{ ...kodlar... } ;>> Mouse ile [N] elemanına çift tıklandığında yapılacak işlemler...
on 1:dialog:isim:rclick:[N]:{ ...kodlar... } ;>> Mouse un sağ tuşuyla [N] elemanına tıklandığında yapılacak olan işlemler buraya yazılır.
::::: DIALOGLARDA BAZI ALIASLAR :::::
::: /Dialog Komutu :::
/DIALOG -mdtsonkcvie Dialog ismi [Dialog ismi] [X] [Y] [W] [H] [yazı...]
Dialog penceresinde kullanılan bu komutun parametrelerinin neler olduğuna bir bakalım.
/dialog -m [Isim] [Isim] ;
/dialog -a ... ; Dilaog penceresini aktif windows penceresinde >açmak< için kullanılır. (-m ile beraber kullanılır. "/dialog -ma [isim] [isim]" şeklinde...)
/dialog -v [Isim] ; Dialog penceresini aktif windows'a >taşımak< için kullanılır. Tek başına kullanılabilir. -a dan bu yönüyle farklıdır.
/dialog -x [isim] ; Dialog penceresini kapatmak için kullanılır.
/dialog -d ... ; Dialog penceresi normalde "-m" ile açıldığında sağ üst köşesinde sadece X gibi bir işaret vardır ve programı ordan kapatırsınız.Eğer dialog pencerenize "Simge Durumuna Küçült" özelliği katmak istiyorsanız -m ile bir likte "-md" şeklinde bir parametre kullanırsınız.
/dialog -t [Isim] Yazı... ; Dialog penceresindeki titlebar da bulunan yazıyı bu komutla kontrol edebilirsiniz.
/dialog -s [Isim] [X] [Y] [W] [H] ; Dialog penceresinin boyutlarını kontrol etmek için kullanılır.
/dialog -r [Isim] ; Dialog penceresini ekranın ortasına taşır.
/dialog -o [Isim] ; Dialog penceresini windowsda çalışan tüm pencerelerin üstünde tutmak için kullanılır. (On Top)
/dialog -n [Isim] ; Bundan bir önceki komutun "/dialog -o [Isim]" in tam tersi işlemi yapar.
/dialog -k [Isim] ; Dialog içindeki bir "OK" parametresine sahip tuşa (Button'a) basma işlemini gerçekleştirmek için kullanılır.
/dialog -c [Isim] ; Dialog içindeki bir "Cancel" parametresine sahip tuşa (Button'a) basma işlemini gerçekleştirmek için kullanılır.
/dialog -i [Isim] ; Dialog penceresi "-md" parametresiyle açılmışsa yani "Simge durumuna Küçült" özelliği varsa o dialog u simge durumuna küçültmek için kullanılır.
/dialog -e [Isim] ; Yine Dialog penceresi "-md" parametresiyle açılmışsa yani "Simge durumuna Küçült" özelliği varsa o dialog u simge durumundan kurtarıp aktif ekrana taşımak için kullanılır.
::: /DID Komutu :::
/did komutu dialog penceresi açıldıktan sonra yapılacak işlemleri için anahtar bir komuttur.
[i]/did -ftebvhnmcukradiogj [Isim] [N] [Sayı] [Yazı... | DosyaYolu...][/i]
/did -f [Isim] [N] ; Bir dialog elemanını aktif etmek için kullanılır. Bu özellik bir pencerenin diğer bir pencere üzerinde daha aktif olması gibi birşey. Bir dialog elemanı diğer elemanlardan daha aktif gözükür. Deneyerek görebilirsiniz.
/did -t [Isim] [N] ; Bir dialog butonunu default buton yapmak için kullanılır. Default button Dialog elemanlarında anlatılmıştı.
/did -b [Isim] [N] ; Bir dialog elemanını ([N] numarasına sahip olan elemanı) çalışamaz hale getirmek ve üzerine donmuş gibi bir görüntü vermek için kullanılır.
/did -e [Isim] [N] ; "/did -b ..." deki etkiyi kaldırmak için kullanılır.
/did -h [Isim] [N] ; Bir dialog elemanını dialog penceresinden silmek için kullanılır.
/did -v [Isim] [N] ; Dialog penceresinden silinmiş (did -h ... uygulanmış) bir elemanı tekrar görünür kılmak için kullanılır.
/did -c [Isim] [N] ; Dialog penceresinde kullanılan elemanlardan, check düğmesi ve radio düğmesinde tıklama işlemini gerçekleştirmek için List ve Combo da ise belli bir satırın aktifleştirilmesi (seçili hale gelmesi) için kullanılır.
/did -u [Isim] [N] ; "/did -c ..." işlemininin tersini yapar.
/did -r [Isim] [N] ; [N] numarasına sahip dialog elemanındaki bir text'i silmek için kullanılır.
/did -a [Isim] [N] ; [N] numarasına sahip dialog elemana bir text girmek için kullanılır.
/did -d [Isim] [N] [sayı] ; [N] dialog elemanında [sayı]. satırın silinmesi işlemini yapar.
/did -i [Isim] [N] [sayı] ; [N] dialog elemanında [sayı]. satıra text girilmesi işlemini yapar.
/did -o [Isim] [N] [sayı] ; [N] dialog elemanında [sayı]. satırdaki textin değiştirilmesi işlemini yapar.
/did -g [Isim] [N] [sayı] [Dosya Yolu] ; [N] dialog elemanındaki bir resim yada iconun değiştirilmesi için kullanılır.
/did komutunu birçok dialog elemanı için aynı anda tek komutta kullanabilirsiniz bunun için eleman numaraları arasına virgül koymalısınız. Örneğin "/did -b Ornek 1,2,3,4 " gibi...
::::: DIALOGLARDA BAZI IDENTIFIERLAR :::::
::: $dialog() Identifier'ı :::
$dialog([Isim]/[Sayı])
En basit haliyle dialog içindeki bilgileri çekmek kullanılır. Örneğin "$dialog(ornek) = Ornek" ise o dialog mirc içinde açık demektir.Bunun tersi durumda $dialog(Ornek) = $null olacaktır. ($null Boş demektir.) Şimdi de $dialog identifierının parametrelerini görelim.
$dialog(Isim).x , $dialog(Isim).y , $dialog(Isim).w , $dialog(Isim).h ; Dialog penceresinin pzoisyonları hakkında bilgi verir.
$dialog(Isim).cw, $dialog(Isim).ch ; Dialog penceresinin boyutları hakkında bilgi verir. (En ve Boy)
$dialog(Isim).title ; Dialog penceresinin titlebar'ında yazan yazıyı ifade eder.
$dialog(Isim).table ; Bu identifier eğer "Isim" e eşitse o dialog o an kullanılıyor demektir.
$dialog(Isim).Ok ; Dialog içinde button parametresi "OK" olan bir button seçildiyse onun [N] eleman numarasını verir.
$dialog(Isim).cancel ; Dialog içinde button parametresi "Cancel" olan bir button seçildiyse onun [N] eleman numarasını verir.
::: $did([Isim],[N],[Sayı]) identifier'ı :::
Bu identifierlar eğer dialog eventlarında kullanılıyorsa çoğunda "Isim" kısmı yazılmaz. Ama eğer event dışında kullanılacaksa mutlaka "Isim" kısmı yazılmalıdır.
$did([N]) ve $did([N]).text ; Bu iki identifier aynı görevi görür. [N] numarasına sahip bir elemanın içindeki yazıyı ifade eder.
$did([N],[Sayı]).Len ; [N] numarasına sahip dialog elemanının [Sayı]. satırdaki yazının karakter sayısını verir.
$did([N]).Lines ; [N] elemanının barındırdığı toplam satır sayısını verir.
$did([N],[Sayı]).sel ; [Sayı] , sıfıra eşit değilse, [N] elemanındaki seçili satırın kaçıncı satır olduğunu verir. Eğer [Sayı] sıfır alınırsa [N] elemanında seçili olan toplam satır sayısını verir.
$did([N]).seltext ; Eğer eleman Edit ise editte seçili olan yazıyıi, Liste elemanında ise listede seçili olan satırdaki yazıyı verir.
$did([N]).selstart ; Edit te seçili olan bir yazının başlangıç karakterini verir.
$did([N]).selend ; Edit te seçili olan bir yazının son karakterini verir.
$did([N]).edited ; Eğer başlangıçta editte yazılan yazı değişmişse "$did([N]).edited = $true" olur. Eğer değişiklik yoksa "$did([N]).edited = $false" olur.
$did([Isim],[N]).state ; Check veya Radyo Düğmesinin tıklı olup olmadığı hakkında bilgi verir. Bu değer 1 e eşit se check düğmesi veya radyo düğmesi tıklı demektir.1'e eşit değilse tıklı olmadığı anlamına gelir. Eğer bu değer 2 ye eşitse tıklı olup olmadığı belirsiz anlamına gelir.
$did([Isim],[N]).enable ; Eğer [N] numaralı eleman kullanılabilir bir durumda ise (yani "/did -b ..." ile kullanılamaz hale geitirilmemiş ise) bu identifier $true ya eşit olur. Aksi halde $false'a eşit olur.
$did([Isim],[N]).visible ; Eğer [N] numaralı dialog elemanı görünür durumda ise (yani "/did -h ..." ile görünemez hale getirilmemiş ise) bu identifier $true ya eşit olur. Aksi halde $false'a eşit olur.
;----------------------------------------------------------------------
;-----------------------------------------------
; Dialog Yardım Dosyası
; Anlatım by Cappystarj0e
;----------------------------------------------
; Örnek Dialog Penceresi
Kod:
dialog Ornek {
title "Örnek - Dialog'un Title kısmı..."
size -1 -1 134 216
option dbu
icon C:\resimlerim\VatanScr.jpg, 1
edit "EDIT", 1, 70 16 50 10, limit 34
text " TEXT", 2, 10 17 31 8
list 3, 9 30 50 44, sort size extsel hsbar vsbar
combo 4, 63 30 60 45, sort size edit hsbar vsbar drop
box "BOX Texti...", 5, 5 3 122 83
radio "Radyo Düğmesi", 6, 8 90 50 10, group flat left push
check "Check düğmesi", 7, 8 102 50 10, 3state flat left push
tab "Tab 1", 8, 6 116 118 77
icon 9, 17 140 98 42, C:\resimlerim\deneme.bmp, 1, tab 8 noborder bottom
button "Button", 10, 67 91 55 20, default flat multi
link " Coded by CAPPYSTARJOE", 11, 36 200 66 8
}
Alias Ornek { dialog -m ornek ornek }
Bu dialog da hemen hemen bütün dialog elemanları tanıtılmıştır. Code kısmını mirc'in remotesine yapıştırıp [b]/Ornek yazarak dialog'u açabilirsiniz fakat iconlar hata verebilir o yüzden icon ların bulunduğu satırları ya kendinize göre ayarlamanız yada silmeniz önerilir.[/b]
Şimdi sırayla bunların ne anlama geldiklerini ve nasıl çalıştıklarını anlatmaya çalışayım.
::::: DIALOG ELEMANLARI :::::
::: Size :::
Size [X] [Y] [W] [H]
Dialog'un boyutlarını belirler 4 parametresi vardır.
ilk iki parametre genelde -1 olarak kullanılır. Bu şekilde kullanıldığı zaman dialog penceresinin ekranın ortasında açılmasını sağlar. Eğer siz buraya başka değerler girerseniz girdiğiniz değerlere göre ekranın belirli bir bölgesinde açığa çıkar.
3. [W] parametresi soldan sağa ne kadar boyutta olduğunu gösterir.
4. [H] parametresi de yukarıdan aşağıya ne kadar boyutta (büyüklükte) olacağını gösterir.
::: Title :::
Title "yazı..."
Dialog pencresinin en üst bandında (Titlebar) yer alan yazıyı kontrol etmek için kullanılır.
::: Edit :::
edit "yazı..." [N], [X] [Y] [W] [H], [read | pass | multi | return | autohs | autovs | hsbar vsbar | limit N ]
Dialog penceresinde bir satır meydana getirmek için kullanılır. Yalnız bu ve bundan sonra anlatacağım dialog elemanlarının index numaraları vardır. Yani her eleman kendisini tanıtan bir sayıya eşdeğerdir. Dialog komutlarında bu sayı ile tanınır. Yukarıda verdiğimiz örnekte edit in index numarası 1 dir. 1 den sonra görüleceği üzere yine 4 tane parametre mevcuttur. Bundan sonra gelen parametreler Dialog penceresine yerleştireceğiniz elemanın görünümü ve değişik kullanımları ile alakalı parametrelerdir.
Örneğin...
read; edite bir yazı girilmesini engeller. Sadece editteki yazıyı okuyabilirsiniz.
pass; edit'e girilen bir sayının *** şeklinde gözükmesini sağlar. Onu gizler.
multi; editte normalde 1 satır vardır. editi 1 den fazla satır halinde kullanmak için bu parametre kullanılır. vs.
::: Text :::
Text "yazı..." [N], [X] [Y] [W] [H]
Dialog penceresine yazı yazmak için kullanılır.
::: Button :::
Button "yazı..." [N], [X] [Y] [W] [H], [ default | flat | multi | OK | CANCEL ]
Dialog'da button oluşturmak için kullanılır.
Flat; Button görünümü ile alakalıdır.
Default; Buttonun dialog penceresi açıldığı andan itibaren üstünde bir karatı gözükmesi olayıdır. Yani diğer elemanlardan daha aktif bi şekilde gözükür seçiliymiş gibi görünür. O durumu bozmadığınız sürece Enter'a bastığınız zaman o butona basmış olursunuz.
::: List :::
List [N], [X] [Y] [W] [H], [ sort | extsel | hsbar | vsbar | size ]
Dialog da Listeler oluşturmak için kullanılır.Bilinen [N], [X] [Y] [W] [H] parametrelerinin dışında [ sort | extsel | hsbar | vsbar | size ] gibi parametreleri mevcuttur.
Sort; Listeye girilen yazıların listede alfabetik sırayla düzenlenmesini sağlar.
Extsel; Listede birden fazla seçim yapmanıza imkan sağlar.
hsbar & vsbar; Liste kontrolü için sağdan sola ve aşağıdan yukarıya scrolleri etkinleştirir.
size; Bu da sanırım listenin boyutu ile alakalı bir parametre ama tam olarak ne oldugunu bilmiyorum. Ama listelerin hemen hepsinde var.
::: Combo :::
Combo [N], [X] [Y] [W] [H], [ sort | size | edit | hsbar | vsbar | drop ]
Dialog da aktif bir edit elemanı oluşturmak için kullanılır. 2 kullanımı vardır.
1.si Liste şeklinde olanıdır. Üstte bir satır altta bir liste şeklinde...
2.si Tıklandığında aşağıya açılabilen bir edit görünümündedir. İçinde bir çok satır barındırır.
Bu özellikleri "drop" parametresi ile belirlenir. Eğer drop u kullanırsanız. Combo'nuz 2. tipte çalışır.
List'in parametreleri ile aynı olan parametreler List'deki görevler ile aynı görevleri yapar.
Edit; Combo da seçilen bir satırın kontrol edilebilmesi için kullanılır. Yani eğer bu parametre kullanılmamışsa combo daki satırları kullanıcı değiştiremez. Ona sadece seçenekler sunarsınız. Eğer edit kullanılırsa combo içindeki bir satırı kullanıcıya da değiştirtebilirsiniz.
::: Box :::
Box "yazı..." [N], [X] [Y] [W] [H]
Dialog elemanlarını bir çerçeve içinde toplamak için kullanılır.
::: Radio :::
Radio "yazı..." [N], [X] [Y] [W] [H], [ group | flat | left | push ]
Bir kez tıklandığında ancak grup içerisinde başka radyo düğmesi var iken değeri değişebilen bir elemandır. Seçenekler için kullanılır. Örneğin, kullanıcı birçok seçenek içinden sadece 1 tane veya sadece belirli sayıda seçeneği seçebilecek durumdaysa Radyo düğmesi kullanılır.
Group; Birçok seçeneği grup halinde toplamak ve kullanıcıya bunlardan sadece 1 tanesini seçtirmek için kullanılan bir parametredir. Group içinde bulunan radyo düğmelerine tıkladığınızda sadece 1 i tıklı gözükür diğerine tıkladığınız zaman tıklı gözüken radyo düğmesi boş olur. Böyle bir düzeneği ancak group parametresi ile sağlayabilirsiniz.
Flat; Radyo düğmesinin görünümü ile alakalı bir parametredir.
Left; Bu parametreyi kullanmazsanız, Tıklanacak kısım solda yazı kısmı sağda olacak şekilde bir Radyo düğmesi oluşturmuş olursunuz. Eğer bu parametreyi kullanısanız yazı kısmını sola, tıklanacak kısmı da sağa çekmiş olursunuz.
Push; Radyo düğmesinin Button gibi gözükmesini sağlar. Yalnız button dan farklı olarak basıldığı zaman basılı kalır. Ve group içinde aynı radyo düğmesi gibi davranır.
::: Check :::
Check "yazı..." [N], [X] [Y] [W] [H], [ 3state | flat | left | push ]
Seçeneklerin aktif olduğunu göstermek amacıyla kullanılır. Yani bir seçeneği seçtiğimizi belirtmek için kullanabiliriz. Radyo düğmesi ile biraz benzerlik göstermektedir.Fakat Tek bir Radyo düğmesi tıklandığında değeri değişemezken bir check düğmesinin değerini istediğimiz gibi değiştirebiliriz. Yani tıklı halden boş hale, boş halden tıklı hale geçirebiliriz. Radyo düğmesi ile aynı olan parametreleri aynı görevleri yaparlar.
3state; Görünüm ile alakalı bir parametredir.
::: Icon :::
1] icon [Dosya yolu], [Index]
2] icon [N], [X] [Y] [W] [H], [Dosya yolu], [Index], [ noborder | Left | Right | bottom | Top | Center ]
Bu dialog elemanının 2 kullanım şekli vardır.
1.si Dialog penceresinin title barda yer alan (sol üst köeşedeki) iconunu kontrol etmek için kullanılır.
2.si Dialog penceresine bir resim eklemek için kullanılır.
Left | Right | bottom | Top | Center ; parametreleri icon elemanının [X] [Y] [W] [H] değerleri ile oluşturulan alanda nasıl yerleştirileceği ile ilgili olan parametrelerdir.
[Index] i tam olarak bilmiyorum.Ama genelde sıfır olarak kullanıyorum.
::: Tab :::
Tab "yazı...", [N], [X] [Y] [W] [H]
Dialog penceresindeki alanı kullanma açısından büyük faydalar sağlar.Aynı alanda birçok elemanı tab ile kullanabilirsiniz.Burda dikkat edilmesi gereken husu şudur: Tab içinde kullandığımız herhangi bir dialog elemanının parametresine "tab [N]" i eklemeliyiz.
Örneğimizde de görüleceği üzere;
icon 9, 17 140 98 42, C:\resimlerim\deneme.bmp, 1, tab 8 noborder bottom
9 numaralı icon elemanı 8 numaralı tab içinde kullanıldığı için sonuna "tab 8" gibi bir parametre konulmuş.Bu 9 numaralı icon elemanının sadece 8 numaralı tab içerisinde aktif olacağını ifade eder.
::: link :::
Link "yazı...", [N], [X] [Y] [W] [H]
Link oluşturmak için kullanılır.Tek başına çalışmaz.Aktif olması için kod gerekir.
;----------------------------------------------------------------------
::::: DIALOG OLAYLARI (DIALOG EVENTS) :::::
on 1:dialogialogIsmi:Olay(Event):[N]: { ...kodlar... }
On 1:dialog:isim:INIT:0:{ ...kodlar... } ;>> Buradaki dialog olayı INIT'dir Dialog'un ilk gösterildiği anda nelerin yapılaması gerektiği buraya yazılır.
On 1:dialog:isim:CLOSE:0:{ ...kodlar... } ;>> Dialog kapanırken nelerin yapılması gerektiği buraya yazılır.
On 1:dialog:isim:EDIT:[N]:{ ...kodlar... } ;>> [N] numarasına sahip bir edit veya combo elemanının içinde bir değişiklik yapıldığı zaman ne yapılması gerektiği buraya yazılır.
On 1:dialog:isim:SCLICK:[N]:{ ...kodlar... } ;>> [N] numarasına sahip bir elemanın üzerinde tek bir tıklama yapıldıgı zaman ne yapılacağı buraya yazılır.
On 1:dialog:isim:DCLICK:[N]:{ ...kodlar... } ;>> [N] numarasına sahip bir elemanın üzerinde çift tıklama yapıldıgı zaman ne yapılacağı buraya yazılır.
On 1:dialog:isim:MENU:[N]:{ ...kodlar... } ;>> Menu'de bir seçenek seçildiği zaman ne yapılacağı buraya yazılır.
On 1:dialog:isim:SCROLL:[N]:{ ...kodlar... } ;>> Dialogda kullanılan bir [N] numarasına sahip elemanın scroll'unun pozisyon değiştirmesi durumunda yapılacak olan işlemler buraya yazılır.
::: Mouse Event'ları :::
on 1:dialog:isim:MOUSE:[N]:{ ...kodlar.. } ;>> Mouse [N] numaralı elemanın üzerine geldiğinde yapılacak işlemler...
on 1:dialog:isim:sclick:[N]:{ ...kodlar... } ;>> Mouse un Sol tuşuyla [N] elemanına tıklanırken yapılacak işlemler...
on 1:dialog:isim:uclick:[N]:{ ...kodlar... } ;>> Mouse un sol tuşuyla [N] elemanına tıklandıktan sonra yapılacak işlemler...
on 1:dialog:isim:dclick:[N]:{ ...kodlar... } ;>> Mouse ile [N] elemanına çift tıklandığında yapılacak işlemler...
on 1:dialog:isim:rclick:[N]:{ ...kodlar... } ;>> Mouse un sağ tuşuyla [N] elemanına tıklandığında yapılacak olan işlemler buraya yazılır.
::::: DIALOGLARDA BAZI ALIASLAR :::::
::: /Dialog Komutu :::
/DIALOG -mdtsonkcvie Dialog ismi [Dialog ismi] [X] [Y] [W] [H] [yazı...]
Dialog penceresinde kullanılan bu komutun parametrelerinin neler olduğuna bir bakalım.
/dialog -m [Isim] [Isim] ;
/dialog -a ... ; Dilaog penceresini aktif windows penceresinde >açmak< için kullanılır. (-m ile beraber kullanılır. "/dialog -ma [isim] [isim]" şeklinde...)
/dialog -v [Isim] ; Dialog penceresini aktif windows'a >taşımak< için kullanılır. Tek başına kullanılabilir. -a dan bu yönüyle farklıdır.
/dialog -x [isim] ; Dialog penceresini kapatmak için kullanılır.
/dialog -d ... ; Dialog penceresi normalde "-m" ile açıldığında sağ üst köşesinde sadece X gibi bir işaret vardır ve programı ordan kapatırsınız.Eğer dialog pencerenize "Simge Durumuna Küçült" özelliği katmak istiyorsanız -m ile bir likte "-md" şeklinde bir parametre kullanırsınız.
/dialog -t [Isim] Yazı... ; Dialog penceresindeki titlebar da bulunan yazıyı bu komutla kontrol edebilirsiniz.
/dialog -s [Isim] [X] [Y] [W] [H] ; Dialog penceresinin boyutlarını kontrol etmek için kullanılır.
/dialog -r [Isim] ; Dialog penceresini ekranın ortasına taşır.
/dialog -o [Isim] ; Dialog penceresini windowsda çalışan tüm pencerelerin üstünde tutmak için kullanılır. (On Top)
/dialog -n [Isim] ; Bundan bir önceki komutun "/dialog -o [Isim]" in tam tersi işlemi yapar.
/dialog -k [Isim] ; Dialog içindeki bir "OK" parametresine sahip tuşa (Button'a) basma işlemini gerçekleştirmek için kullanılır.
/dialog -c [Isim] ; Dialog içindeki bir "Cancel" parametresine sahip tuşa (Button'a) basma işlemini gerçekleştirmek için kullanılır.
/dialog -i [Isim] ; Dialog penceresi "-md" parametresiyle açılmışsa yani "Simge durumuna Küçült" özelliği varsa o dialog u simge durumuna küçültmek için kullanılır.
/dialog -e [Isim] ; Yine Dialog penceresi "-md" parametresiyle açılmışsa yani "Simge durumuna Küçült" özelliği varsa o dialog u simge durumundan kurtarıp aktif ekrana taşımak için kullanılır.
::: /DID Komutu :::
/did komutu dialog penceresi açıldıktan sonra yapılacak işlemleri için anahtar bir komuttur.
[i]/did -ftebvhnmcukradiogj [Isim] [N] [Sayı] [Yazı... | DosyaYolu...][/i]
/did -f [Isim] [N] ; Bir dialog elemanını aktif etmek için kullanılır. Bu özellik bir pencerenin diğer bir pencere üzerinde daha aktif olması gibi birşey. Bir dialog elemanı diğer elemanlardan daha aktif gözükür. Deneyerek görebilirsiniz.
/did -t [Isim] [N] ; Bir dialog butonunu default buton yapmak için kullanılır. Default button Dialog elemanlarında anlatılmıştı.
/did -b [Isim] [N] ; Bir dialog elemanını ([N] numarasına sahip olan elemanı) çalışamaz hale getirmek ve üzerine donmuş gibi bir görüntü vermek için kullanılır.
/did -e [Isim] [N] ; "/did -b ..." deki etkiyi kaldırmak için kullanılır.
/did -h [Isim] [N] ; Bir dialog elemanını dialog penceresinden silmek için kullanılır.
/did -v [Isim] [N] ; Dialog penceresinden silinmiş (did -h ... uygulanmış) bir elemanı tekrar görünür kılmak için kullanılır.
/did -c [Isim] [N] ; Dialog penceresinde kullanılan elemanlardan, check düğmesi ve radio düğmesinde tıklama işlemini gerçekleştirmek için List ve Combo da ise belli bir satırın aktifleştirilmesi (seçili hale gelmesi) için kullanılır.
/did -u [Isim] [N] ; "/did -c ..." işlemininin tersini yapar.
/did -r [Isim] [N] ; [N] numarasına sahip dialog elemanındaki bir text'i silmek için kullanılır.
/did -a [Isim] [N] ; [N] numarasına sahip dialog elemana bir text girmek için kullanılır.
/did -d [Isim] [N] [sayı] ; [N] dialog elemanında [sayı]. satırın silinmesi işlemini yapar.
/did -i [Isim] [N] [sayı] ; [N] dialog elemanında [sayı]. satıra text girilmesi işlemini yapar.
/did -o [Isim] [N] [sayı] ; [N] dialog elemanında [sayı]. satırdaki textin değiştirilmesi işlemini yapar.
/did -g [Isim] [N] [sayı] [Dosya Yolu] ; [N] dialog elemanındaki bir resim yada iconun değiştirilmesi için kullanılır.
/did komutunu birçok dialog elemanı için aynı anda tek komutta kullanabilirsiniz bunun için eleman numaraları arasına virgül koymalısınız. Örneğin "/did -b Ornek 1,2,3,4 " gibi...
::::: DIALOGLARDA BAZI IDENTIFIERLAR :::::
::: $dialog() Identifier'ı :::
$dialog([Isim]/[Sayı])
En basit haliyle dialog içindeki bilgileri çekmek kullanılır. Örneğin "$dialog(ornek) = Ornek" ise o dialog mirc içinde açık demektir.Bunun tersi durumda $dialog(Ornek) = $null olacaktır. ($null Boş demektir.) Şimdi de $dialog identifierının parametrelerini görelim.
$dialog(Isim).x , $dialog(Isim).y , $dialog(Isim).w , $dialog(Isim).h ; Dialog penceresinin pzoisyonları hakkında bilgi verir.
$dialog(Isim).cw, $dialog(Isim).ch ; Dialog penceresinin boyutları hakkında bilgi verir. (En ve Boy)
$dialog(Isim).title ; Dialog penceresinin titlebar'ında yazan yazıyı ifade eder.
$dialog(Isim).table ; Bu identifier eğer "Isim" e eşitse o dialog o an kullanılıyor demektir.
$dialog(Isim).Ok ; Dialog içinde button parametresi "OK" olan bir button seçildiyse onun [N] eleman numarasını verir.
$dialog(Isim).cancel ; Dialog içinde button parametresi "Cancel" olan bir button seçildiyse onun [N] eleman numarasını verir.
::: $did([Isim],[N],[Sayı]) identifier'ı :::
Bu identifierlar eğer dialog eventlarında kullanılıyorsa çoğunda "Isim" kısmı yazılmaz. Ama eğer event dışında kullanılacaksa mutlaka "Isim" kısmı yazılmalıdır.
$did([N]) ve $did([N]).text ; Bu iki identifier aynı görevi görür. [N] numarasına sahip bir elemanın içindeki yazıyı ifade eder.
$did([N],[Sayı]).Len ; [N] numarasına sahip dialog elemanının [Sayı]. satırdaki yazının karakter sayısını verir.
$did([N]).Lines ; [N] elemanının barındırdığı toplam satır sayısını verir.
$did([N],[Sayı]).sel ; [Sayı] , sıfıra eşit değilse, [N] elemanındaki seçili satırın kaçıncı satır olduğunu verir. Eğer [Sayı] sıfır alınırsa [N] elemanında seçili olan toplam satır sayısını verir.
$did([N]).seltext ; Eğer eleman Edit ise editte seçili olan yazıyıi, Liste elemanında ise listede seçili olan satırdaki yazıyı verir.
$did([N]).selstart ; Edit te seçili olan bir yazının başlangıç karakterini verir.
$did([N]).selend ; Edit te seçili olan bir yazının son karakterini verir.
$did([N]).edited ; Eğer başlangıçta editte yazılan yazı değişmişse "$did([N]).edited = $true" olur. Eğer değişiklik yoksa "$did([N]).edited = $false" olur.
$did([Isim],[N]).state ; Check veya Radyo Düğmesinin tıklı olup olmadığı hakkında bilgi verir. Bu değer 1 e eşit se check düğmesi veya radyo düğmesi tıklı demektir.1'e eşit değilse tıklı olmadığı anlamına gelir. Eğer bu değer 2 ye eşitse tıklı olup olmadığı belirsiz anlamına gelir.
$did([Isim],[N]).enable ; Eğer [N] numaralı eleman kullanılabilir bir durumda ise (yani "/did -b ..." ile kullanılamaz hale geitirilmemiş ise) bu identifier $true ya eşit olur. Aksi halde $false'a eşit olur.
$did([Isim],[N]).visible ; Eğer [N] numaralı dialog elemanı görünür durumda ise (yani "/did -h ..." ile görünemez hale getirilmemiş ise) bu identifier $true ya eşit olur. Aksi halde $false'a eşit olur.
;----------------------------------------------------------------------