14 Kasım 2020 Cumartesi

Vb ile ActiveX Bileşen Oluşturma-3: Çerçeve(Frame)

Bu bölümde bir çerçeve oluşturacağız. Standart kontrollerden Frame'e benzer bir kontrol. Ama aynı işlevde olmayacak. Çünkü öğrenim amaçlı projeler oluşturduğumuzdan kontrollerde fazla işlev olmayacaktır.

Başlayalım.

  • Visual Basic'i çalıştırın. Menüden File / New Project
  • Açılan pencere ActiveX Control'ü çift tıklayın.
  • Yeni bir form penceresi açılacak
  • F4 e basarak form özellikleri penceresini açın.
  • Formun Name özelliğini Cerceve olarak değiştirin. Çerçeve olarak da girebiliriz bir sorun oluşturmaz ancak kodlamada genel alışkanlık; nesne ve değişken isimlerinde İngilizce karakterler kullanılır.
  • Form üzerine 2 dikey, 2 de yatay olmak üzere 4 adet Line (çizgi) ekleyin.
    Çizgilerin boyu ve konumu önemli değil. Kodlarla gerekli boyut ayarlanacak ve gerekli konuma yerleştireceğiz.
  • Formdaki çizgilerin Name(Ad) özelliğini aşağıdaki resme göre değiştirin.
  • sol ve ust çizgiyi seçin, BorderColor özelliğini &H00FFFFFF& olarak,
  • alt ve sag çizgiyi seçin, BorderColor özelliğini &H00808080& olarak değiştirin.
  • ActiveX kontrol boyutu form'a eklendiğinde veya kontrol boyutu değiştiğinde çizgi boyu ve konumunun otomatik ayarlanması için kod ekleyeceğiz.
  • Bunun için form üzerinde çift tıklayın ya da F7'ye basın.
    Private Sub UserControl_Initialize()
    kodları gelecek.
  • Kod penceresindeki sağ üstteki listeden Resize'ı seçin.

Resize(boyut değişikliği) Event(olaya duyarlı olma), kontrolü yerleştirdiğimizde ve boyutlarında değişiklik olduğunda devreye girer.
  • Aşağıdaki kodları
    Private Sub UserControl_Resize()
    altına ekleyin.
w = UserControl.ScaleWidth - 15 'form genişliği
h = UserControl.ScaleHeight - 15 'form yüksekliği
sol.X1 = 0: sol.Y1 = 0 'sol çizgiyi en sola yanaştır
sol.X2 = 0: sol.Y2 = h
ust.X1 = 0: ust.Y1 = 0 'üst çizgiyi en üste yanaştır
ust.X2 = w: ust.Y2 = 0
alt.X1 = 0: alt.Y1 = h 'alt çizgiyi en alta yanaştır
alt.X2 = w: alt.Y2 = h
sag.X1 = w: sag.Y1 = 0 'sağ çizgiyi en sağa yanaştır
sag.X2 = w: sag.Y2 = h
  • Şimdi File / Add Project / Standart EXE ile yeni proje ekleyin ve Cerceve kontrolünü form üzerinde deneyin. Kontrolün boyutlarını değiştirdiğinizde çizgilerinde yer değiştirdiğini görün.

Olay Ekleme

Eklediğiniz kontrolü çift tıkladığınızda duyarlı olduğu olay sayısının sınırlı olduğunu göreceksiniz.
Kod penceresi sağ üstteki listede olaylar listelenir.
Bu event(olay)lar: DragDrop, DragOver, GotFocus ve LostFocus ile sınırlı.

Gelin şimdi kontrolümüze yeni olay ekleyelim.
Örneğin Click olayı.
Fare ile kontrolümüze tıklandığında istediğimiz kodları çalıştırabilsin.

  • Ctrl+R ile Project Group penceresinde Cerceve seçili iken F7 ile kod penceresini açın.
  • Sol listeden (General)'i seçin. Sağ listede (Declaration) otomatik seçilecek.
  • Bu bölüme aşağıdaki kodu ekleyin.
Event Click()

Evet, bu kadar basit.

Şimdi kontrolümüzün duyarlı olduğu bir olay daha var o da Click.
Click olayını az önce eklediğiniz projede deneyin.

Deneyenler daha ileri giderek Click olayına bazı kodlar eklediğinde kodların çalışmadığını görecek.

Evet, Click olayı var ama kodlar çalışmıyor. Bu hatayı düzeltmeliyiz.

Unutmayın, hata yapmadan öğrenemezsiniz. Ayrıca öğrendiklerinizi geliştirmek istiyorsanız size çok iyi bir yol söyleyebilirim. Bildiklerinizi paylaşın, birilerine öğretin. Öğrettikçe bilgilerinizin daha da artacağını göreceksiniz.

Hatayı düzeltelim.

  • Ctrl+R ye basın Cerceve seçili iken F7 ye basın. Sol listeden(kontrol listesi) UserControl ü, sağ listeden(olay listesi) de Click i seçin.
    UserControl_Click() olayına aşağıdaki kodu ekleyin.
RaiseEvent Click
  • RaiseEvent, Declaration'da tanımladığımız Click Event'ini yürürlüğe koyar. Böylece kontrol fare ile tıklandığında Click alt rutini içinde yazılan kodları çalıştırır.
  • Şimdi kontrolümüzü deneyelim. Kontrolü tasarladığımız pencereyi kapatalım.
  • Eğer eklemediyseniz Add Project ile Standart EXE projesi ekleyin. Projedeki Form'a Cerceve kontrolünü ekleyin.
  • Eklenen Cerceve kontrolünü çift tıklayın. Kod penceresi açılacak. Eğer kod penceresinde
    Sub Cerceve1_Click()
    çıkmadıysa Kontrol listesinden Cerceve1'i , Olay listesinden de Click'i seçin.
  • Kodları aşağıdaki şekilde düzenleyin
Private Sub Cerceve1_Click()
	MsgBox "Kontrol tıklandı!"
End Sub
  • Project Group penceresinde Project2 üzerinde sağ tıklayıp Set as Start Up tıklayın.
  • F5 ile projeyi çalıştırın
  • Formdaki çerçeveyi tıklayın. Kontrol tıklandı! yazan mesaj kutusu görünecek.
  • Size ödev: Kontrole DblClick ve MouseMove Event'lerini ekleyin.
Proje dosyaları: Vb_ile_ActiveX_Olusturma_3.rar


Önceki Bölüm: 2: Dijital Saat
Sonraki Bölüm: 4: superText #1

Hiç yorum yok:

Yorum Gönder