13 Kasım 2020 Cuma

Vb ile ActiveX Bileşen Oluşturma-2: Dijital Saat

Bu bölümünde yeni bir ActiveX kontrol oluşturacağız.
Bu kontrolü Visual Basic projelerde ocx olarak yada ctl olarak kullanmayı öğreneceğiz.
Önceki bölümdeki uygulamaları yapmadan bu bölüme geçmemeniz tavsiye olunur.

Dijital Saat

  • Visual Basic'i çalıştırın.
  • Açılan New Project penceresinde ActiveX Control'ü çift tıklayın. Yeni bir form penceresi açılacak
  • F4'e basarak form özellikleri penceresini açın.
  • Formun Name özelliğine baktığımızda UserControl1 yazdığını göreceğiz.
  • Bunu ctl_DSaat olarak değiştirin
  • Ctrl+R'ye basarak Project penceresinde de ismin değiştiğini görün.
  • Form üzerine bir tane Label bir tane de Timer ekleyin.

  • Label1 seçiliyken F4'e basarak Label1 özelliklerini(Properties) aşağıdaki gibi ayarlayın
  • AutoSize True
    BackColor &HBF
    Caption
    ForeColor &HFFFFFF
    Font Fixedsys
    Left 0
    Top 0

  • Timer1'i tıklayıp seçili hale getirin.
  • F4'e basarak Timer1 özelliklerini aşağıdaki gibi değiştirin.
    Interval 1000
  • Bu ayar ile 1000 milisaniye(1 sn)de bir Timer1 kontrolü saati yenileyecek. 0 olduğunda çalışmaz.
  • Form üzerindeki Timer1 i çift tıklayarak ya da Timer1 i bir kere tıklayıp F7'ye basarak kod
    penceresindeki kodları aşağıdaki şekilde düzenleyin.
Private Sub Timer1_Timer()
	'Label1 başlığına güncel saati yaz
	Label1.Caption = Time
End Sub
  • Aşağıdaki kodları kod penceresinde End Sub altına ekleyin.
Private Sub UserControl_Initialize()
	'Timer1_Timer alt rutini çalıştır
	Call Timer1_Timer
End Sub

Private Sub UserControl_Resize()
	'ActiveX genişliğini Label1 genişliğine eşitle
	UserControl.Width = Label1.Width
	'ActiveX yüksekliğini Label1 yüksekliğine eşitle
	UserControl.Height = Label1.Height
End Sub

  • Ctrl+R'ye basın Project1 üzerinde sağ tıklayın.
  • Açılan menüden Project1 Properties... i tıklayın.
  • Açılan Project1 Properties penceresinde Project name kısmını DSaat olarak değiştip Tamam ı tıklayın.
  • File menüsünden Save Project i tıklayın.
  • User Kontrol için ctl_DSaat.ctl çıkacak bunu değiştirmeyip Kaydet e basın.
  • Ardından Proje dosya adı olarak DSaat.vbp çıkacak değiştirmeden kaydedin.

Evet ActiveX User Control'ümüz hazır.
Şimdi kullanımına geçelim.

ActiveX bileşeni projelere ekleme

Projelerde ActiveX kullanmak için iki yöntem var.

  1. Derlenmemiş kod olarak (CTL)
  2. Derlenmiş dosya olarak (OCX)

Biz henüz kodları derlemediğimiz için önce birinci yöntemi deneyelim.

Derlenmemiş kod olarak ActiveX kontrol ekleme (CTL)

  • Visual Basic'i çalıştırın yeni bir Standart EXE projesi oluşturun.
  • Project menüsünden Add User Control'ü tıklayın.
  • Açılan pencerede Existing'i tıklayın.


  • Projenizi kaydettiğiniz klasör içindeki ctl_DSaat.ctl dosyasını çift tıklayın.
  • Bir uyarı çıkacak, Tamam'ı tıklayın.
  • Toolbox'a yeni bir kontrolün, Project penceresinde ise ctl_Dsaat.ctl'nin eklendiğini göreceksiniz.
  • Project penceresindeki ctl_Dsaat.ctl derlenmemiş olduğu için tasarım ve kod değişikliği yapılabilir.
  • Artık Toolbox'daki ctl_Dsaat kontrolünü diğer standart kontroller gibi istediğiniz forma istediğiniz kadar ekleyebilirsiniz.
  • Eklenen Dijital saatin tasarım anında bile çalıştığını göreceksiniz.


Şimdi 2. yönteme geçelim. Bunun için önce kontrolün derlenmesi gerekiyor.

ActiveX kontrolü derleme (OCX dosya yapma)

Birinci yöntemle VB projenize yeni kontrolü ekleyebileceğinizi öğrendiniz. Ama düşünün çok sayıda birbirinden bağımsız projede aynı kontrolü (ya da daha çok kontrol oluşturursanız kontrolleri) kullanmak istiyorsunuz. Oluşturduğunuz exe dosyalar eklenen kontrollerden dolayı büyük olacak,
bellekte daha çok yer kaplayacak.

Eğer derlenmiş exe dosyalarınız aynı bilgisayarda çalışacaksa kontrolü de derleyerek tek bir derlenmiş ActiveX kontrolden faydalanılarak, projelere referans olarak eklemek hem dosya büyüklüğünü azaltacak hem de bellekte az yer kaplayacaktır.

Pek anlamadınız değil mi? Bir şeyi ilk defa öğreniyorsanız anlamadığınız bazı yerlerin olması normaldir.

Tam öğrenme, tekrar etmekle ve anlamadığınız yerleri araştırarak, sorarak tamamlamayla gerçekleşir. Uygulamaları takip ettiğinizde oluşan sonuçlar size bazı bilgileri kendiliğinden kazandıracaktır.

Şimdi ocx dosya oluşturmayı görelim.

  • File menüsünden Open Project ile ya da Ctrl+O ile DSaat.vbp projenizi açın.
    (Open Project penceresinde Recent tabına baktığınızda son çalıştığınız projeleri göreceksiniz)
  • Şimdi kontrolümüzün toolbox'da görünen standart resmini değiştireceğiz
  • MSpaint ya da başka bir resim ya da ikon editörü ile 16x16 boyutlarında bir resim hazırlayıp bmp, dib, gif, jpg formatlarından biri ile kaydedin.
  • Formu tıklayıp F4 ile özelliklerini açın.
  • ToolboxBitmap özelliğinin yanındaki düğmeyi tıklayıp kaydettiğiniz 16x16'lık resmi seçin. Eğer resminiz daha büyük veya küçükse bu boyutları uyacak şekilde otomatik olarak değiştirilir.
  • Resim dosyasını oluşturamadıysanız aşağıdaki benim oluşturduğum resmi kullanabilirsiniz.

İkon resmi:

  • File menüsünden Make DSaat.ocx i tıklayın.
  • Make project penceresi açılacak. Dosya adı DSaat.ocx olarak görünecek. Değiştirmeden OK tıklayın.
İşte bu kadar. Kaydettiğiniz klasörde DSaat.ocx adlı bir dosya oluşacak. Ocx dosyayı birçok projede kullanacaksanız size tavsiyem, ocx dosyanızı c:\windows\system klasörüne taşıyın. Çünkü ortak kullanılan ocx ve dll dosyaları bu klasörde tutulur.

OCX dosyamız oluştuğuna göre gönül ve kullanım rahatlığıyla projelerimize ekleyebiliriz.

Derlenmiş dosya olarak ActiveX kontrol ekleme (OCX)

  • VB'de yeni bir proje oluşturun.
  • Toolbox üzeninde sağ tıklayıp açılan menüden Components'i tıklayın. Ya da ana menüden Project / Components'i ya da Ctrl+T
  • Listede bizim oluşturduğumuz DSaat yoksa Browse butonuna basarak ocx i kaydettiğiniz klasörde seçin.
  • DSaat.ocx i ekleyebildiyseniz Toolbox'da yeni ikonuyla göreceksiniz.
  • File / Add project... ile Standart EXE projesi ekleyin.
  • Form1 içine Dijital saat ekleyin.

Aynı ocx dosyayı çoğaltmaya gerek kalmadan istediğiniz projelerde bu yöntemle kullanabilirsiniz.
Bu şekilde oluşturduğunuz projelerinizin exe boyutu daha küçük olacaktır. Projelerinizi dağıtırken, kullanılan ocx dosyalarıyla beraber dağıtılacağını unutmayın.

Proje dosyaları: Vb_ile_ActiveX_Olusturma_2.rar



Önceki Bölüm: 1: Fırıldak Sonraki Bölüm: 3: Çerçeve(Frame)

Hiç yorum yok:

Yorum Gönder