BaD_CaT Uzman
Mesaj Sayısı : 1249 Yaş : 35 Kayıt tarihi : 24/04/07
| Konu: OLAYLAR C.tesi Nis. 28, 2007 12:50 pm | |
| OLAYLAR FORMUN AKTİF VE PASİF HALE GETİRİLMESİ (ACTIVATE, DEACTIVATE) Bir nesne aktifleştirildiğinde activate olayı oluşur. Nesne activate olmadığı zaman deactivate olayı olur.YAPISI: Private sub nesne_activate() Private sub nesne_deactivate()ÇALIŞMA ANINDA FORMUN BOYUTLARINI DEĞİŞTİRME (RESIZE) Nesne ilk gösterildiğinde ya da nesnenin pencere boyutları değiştirildiğinde olur. Örneğin; formun simgeleştirilmesi ve ekranı kaplaması gb. ÖRN: Private sub form1_resize() msgbox “formun boyutları değişti” end subCHANGE OLAYI Change; bir nesnenin değerinin değiştirilmesi ile oluşur. Örneğin; yatay kaydırma çubuğunun değerinin tıklanarak değiştirilmesi change olayını oluşturur.YAPISI:[/size][size=12] Private sub Hscroll1_change() . . . End sub KEYDOWN OLAYI Klavyeden bir tuşa basıldığında keydown olayı oluşur. Hangi tuşa basıldığını öğrenmek ve değerlendirmek için keycode kullanılır.Text1.keydown(keycode as integer,shift as integer)Vbkeyreturn=enterVbEscape=ESCVbkeydelete=deleteSHİFT PARAMETRELERİ1=shift2=Ctrl3=AltÖRN:Private sub text1.keydown(keycode as integer,shift as integer)if(keycode=VbkeyEnd) AND (shift=1) then msgbox (“……………”)end subKEYUP OLAYI Klavyeden bir tuş bırakıldığında keyup olayı olur. KEYPRESS OLAYI Bir tuşa basılıp bırakıldığında geriye tuş değeri döndürür. Bu değer bilinen tam sayılardır. Örneğin; enter tuşunun değeri 13’tür. ÖRN: Private sub text1_keypress(keyascii) if keyascii=13 then msgbox “enter’a basıldı”end sub MOUSE İLE OLUŞTURULAN OLAYLAR MOUSEDOWN OLAYI Kullanıcının nesne üzerindeyken fareye basması ile oluşur.YAPISI: Private sub form1_mousedown(buton,shift,X,Y)MOUSEUP OLAYI Kullanıcının nesne üzerindeyken fareye bastıktan sonra bırakmasıyla oluşur.YAPISI: Private sub form1_mouseup(buton,shift,X,Y) Buton bilgisi farenin sol,sağ ya da orta tuşunun kullanılıp kullanılmadığını belirtir.1=sol,2=sağ ve 4=orta tuşu belirtir. Shift değeri ise farenin yani sıra basılan CTRL,ALT,SHİFT tuşlarını belirtir.1=shift,2=ctrl ve 4=alt tuşuna basıldığını belirtir. Ctrl+Alt tuşuna basılırsa shift değeri 6 olur. X ve Y değerleri fare işaretçisinin o anki konumunu verir.ÖRN: Private command1_mousedown(buton,shift,X,Y) if(buton=2) AND (shift=2) then msgbox “…………”end ifMOUSEMOVE OLAYI Kullanıcının fareyi nesnenin üzerinde hareket ettirmesiyle oluşur.YAPISI: Private sub command1_mousemove(buton,shift,X,Y) . . . End subFARE DÜĞMESİ FARE İLE BİRLİKTE KLAVYE SHİFT TUŞLARI
Vbleftbutton Vbshiftmask 1(shift tuşuna basıldı) Vbrightbutton Vbctrlmask 2(ctrl tuşuna basıldı) Vbmiddlebutton Vbaltmask 4(alt tuşuna basıldı) Listbox: Elemanların gösterilmesini sağlayan componenttir.Columns: Listbox’ın içerisini sütunlara bölmeye yarar.Style: Listbox’ın içeriği checkbox gb olur.Multiselect: Listbox içerisindeki verilerin seçilmesini sağlar.0=seçim yapılamaz1=fare ile üzerine gelinen text seçilir2=klavyeden shift veya ctrl tuşu ile seçme yapmamızı sağlar.Additem: Listbox’ın içine bir veri girişi yapmak için kullanılır.ÖRN:[/size] [size=12] List1.additem “edebiyat” Private sub form1_load()List1.additem “bilgisayar”List1.additem “matematik”End subRemoveitem: Listbox’ın içeriğinden bir veriyi silmek için kullanılır.ÖRN: List1.removeitem “1” List1.additem text1.textText: Listbox’ın içerisinden bir veriyi göndermek için kullanılır.ÖRN: X=list1.textClear: Listbox’ın içeriğini tamamen silmek için kullanılır. List1.clearListindex: Listbox’ın içerisinde seçilmiş olan verinin index numarasını verir. List1.removeitem list1.listindexListcount: Listbox içerisindeki eleman sayısını verir. X=list1.listcount List1.removeitem list1.countSellcount: Multiselect özelliği 1 veya 2 olan Listboxlarda seçili olan eleman sayısını verir. X=list1.sellcountSelected: Multiselect özelliği 1 veya 2 olasn Listboxlarda index numarasına göre seçim yapmayı sağlar. List1.selected(1)=true List1.selected(2)=trueCombobox: Birçok seçenekten birisinin seçilmesini sağlayan kutudur. Özellikle belli seçeneklerden birini açılan bir listeden seçilmesini sağlar.DRIVELISTBOX,DIRECTORYLISTBOX,FILELISTBOX Drivelist kontrolüsistemde bulunan sürücülerin,directorylistbox sürücülerdeki dizinlerin,filelistbox kontrolüde dizinlerdeki dosyaları listeler. Bu kontroller genellikle birlikte kullanılırlar. Özellikle; sabitdisk üzerindeki dosyaları görmek, aramak, açmak vb. işlemleri yapmak için kullanılır. DRIVELISTBOX: Bu kontrol sistemdeki sürücüleri gösterir. Drive özelliği ile aktif sürücüye ulaşır. Sürücünün seçilmesi change olayını oluşturur.FILELISTBOX: Dizindeki dosyaları gösterir. Fileline özelliği ile dosya adlarına ulaşılır.DIRECTORYLISTBOX: Sistemde bulunan sürücülerdeki dizinleri gösterir. Sürücü üzerindeki dizinleri göstermek için Path özelliği kullanılır. Yine listeden dizin seçilmesi change olayını oluşturur. VISUAL BASIC’TE FARE İLE OLUŞTURULAN OLAYLAR CLICK: Kullanıcının nesne üzerinde farenin tuşuna basıp bırakmasıyla olur. Click olayı mouseup ve mousedown olaylarında da olur.DOUBLECLICK: Farenin tuşuna iki kez basılmasıyla olur.FORMUN ÇAĞRILMASI VE KAPATILMASI(LOAD, UNLOAD): Form çağrıldığında load, formun kapat düğmesine basıldığında unload olayı olur.GOTFOCUS: Klavye kontrolünün bu nesneye geçmesi halinde meydana gelen bir olaydır. Bir nesneye kontrolün geçebilmesi için görülebilir (visible) ve aktif (enable) olması gerekir.ÖRN:[/size] [size=12] Private sub text2_gotfocus() Msgbox “olay oluştu” End subÖRN: Text kutusuna geçildiğinde içindeki metnin seçilmesi Private sub text1_gotfocus() Text1.sellstart=0 Text1.sellenght=len(text1) End subLOSTFOCUS: Bu olay herhangi bir kontrol elemanının kontrolü kaybetmesi esnasında meydana gelir. Bir eleman kontrolü ya TAB tuşuyla ya da FARE tarafından tıklanmasıyla alır. Lostfocus olayının gerçekleşmesi için form üzerinde birden fazla kontrol elemanı yer almalıdır. Bu olay daha çok kontrolü kaybeden elemanın içeriğini değerlendirmek için kullanılır.ÖRN:[/size] [size=12] Private sub text1_lostfocus() İf val (text1) < 1 or val (text1) > 100 then 0 ile 100arasında değer girmedikçe Text1.setfocus başka bir olay gerçekleşmeyecektir. End if End sub VALIDATE(CANCEL AS INTEGER): VB 6.0 versiyonu ile eklenen bu özellik lostfocus olayında anlattığımız kontrol olayını yapmaya yarar. Eğer nesnenin couses voludation özelliği true ise bu olaya yazdığımız kod çalışacak ve nesnenin içeriğini kontrol edebilmemizi sağlayacaktır. Eğer nesnenin içeriği uygun değilse Cancel parametresine true atanarak kontrolün tekrar aynı nesneye bırakılması sağlanabilir.ÖRN:[/size] [size=12] Private sıb text1_validate(Cancel as boolean) İf val (text1) < 0 or val (text1) > 100 then Msgbox “0-100 arası bir not girmelisiniz” Cancel=true (bir önceki metin kutusuna döner) End if End subRESIZE: Kontrolün boyutlarının değişmesi halinde bu olay meydana gelir. Formun genişliğinin veya yüksekliğinin değişmesi ayrıca formun minimize edilmesi bu olayı meydana getirir.PAINT: Formun boyutları değiştiğinde veya ekranda yeniden görünür hale geldiğinde içindeki görüntünün yeniden çizilmesi gerekir. Bu iş için en uygun olay paint olayıdır.PATHCHANGE: Bu olay path özelliğinin değişmesi sonucu meydana gelir. Yani filelistbox farklı bir yeri göstermeye başladığında meydana gelir. OLAY YORDAMLARI Olay yardamları bir olayın (event) oluşmasına tepki olarak çalışırlar. VB nesneleri, metin kutuları, formlar, düğmeler vb. belli olayları tanımlar. Böylece olay oluştuğunda o olay için hazırlanmış olay yordamı çalışır. Prosedür tanıtım satırında sub anahtar sözcüğü prosedürün başlangıcını gösterir. Olay prosedürünün adları şu kanallara uymalıdır.1) Adın ilk kısmı form üzerinde yaratmış olduğu bir nesnenin adı ya da form olmalıdır.2) Adın son kısmı bir olay (event) olmalıdır.3) Adın ikinci kısmı arasında bir alt çizgi bulunmalıdır. | |
|
BaD_CaT Uzman
Mesaj Sayısı : 1249 Yaş : 35 Kayıt tarihi : 24/04/07
| Konu: Geri: OLAYLAR C.tesi Nis. 28, 2007 12:52 pm | |
| Visual Basic'teki olaylar güle güle kullanın... | |
|