12 Kasım 2020 Perşembe

Vb ile ActiveX Bileşen Oluşturma-1: Fırıldak

Bu yazı serisinde Visual Basic 6 ile ActiveX bileşen oluşturmayı açıklayacağım.

ActiveX nedir?

Activex Visual Basic ve Delphi gibi dillerde kullanılan bir kütüphane sistemidir. Uzantısı ocx, dll veya exe'dir. Visual basic kurulumu ile çok sayıda ActiveX bileşen sisteme kurulur.
ActiveX bir teknoloji grubuna verilen isimdir. Bu grubu oluşturan teknolojiler, programcıların uygulamalarını daha hızlı şekilde geliştirebilmelerini, daha önce oluşturulmuş bileşenleri, tekrar kod yazmak zorunda kalmadan uygulamalarında kullanabilmelerini sağlamaktadır.

Örneğin yazılan programda video oynatan bir bölüm olması gerekiyor. Bu işi yapan bir ActiveX bileşen(component) varsa yeniden kod yazmaya gerek kalmaz. Kolaylıkla ActiveX bileşen uygulamaya eklenir ve kullanılır. Çok sayıda ActiveX bileşen ücretli veya bedava olarak internette bulunabilmektedir.

Eğer işimizi görecek bileşen yoksa veya ücretli bir bileşen satın almak istemiyorsak kendimiz de bir ActiveX bileşen oluşturabiliriz.

Visual Basic ile ActiveX bileşen oluşturma

Yapacağımız ActiveX bileşen, yandaki resimde olduğu gibi oklara tıklanarak metin kutusundaki sayıyı arttıracak ya da azaltacak. Birçok programın ayar penceresinde buna benzer şeylerden rastlamışsınızdır.

Visual Basic sürümlerini indirmek için https://winworldpc.com/product/microsoft-visual-bas/60

  • Visual Basic 6'yı çalıştırın.
  • Vb'yi çalıştırdığınızda New Project ekranıyla karşılaşacaksınız.
  • Bu pencerede ActiveX Control'ü tıklayıp butonunu tıklayın ya da çift tıklayın.
    Eğer böyle bir pencere gelmezse menüden File / New project CTRL+N tıklayın.
  • Yeni projede form penceresi açılacak. Standart formlardan farklı olarak kenarlık, başlık, simge durumuna küçült / büyüt / kapat düğmeleri yoktur. Bu form ActiveX kontrol için çalışma(tasarım) alanıdır.
    Bileşeni bir standart form'a eklediğinizde nasıl görüneceğini gösterir. Standart formlarda olduğu gibi üzerine Toolbox'dan bileşenler eklenebilir.
  • Formun sol üst köşesine yakın bir Textbox yerleştirin.
  • Hemen sağına aynı yükseklikte VscrollBar yerleştirin.
  • Formdaki TextBox'u tıklayıp seçili hale getirin.
  • F4'e basıp Properties(özellikler) penceresinde Text özelliğinin yanındaki Text1 yazısını silin.
  • Form üzerinde tıklayarak formu seçili hale getirin.
  • Sağ alt köşede beliren küçük kareden tutarak formun boyutunu küçültün.

ActiveX kontrolümüzün temelini oluşturduk.

Gördüğünüz gibi hiç kod yazmadan, görsel tasarımla ve kolaylıkla bir ActiveX kontrol oluşturduk.
Şimdi bu kontrolü test edelim.

ActiveX kontrolü test etme

  • File menüsünden Add Project'i tıklayın.
  • Açılan Add Project penceresinde Standart EXE'yi çift tıklayın.
  • Bu işlem Project2 projesini ve projede Form1'i oluşturur.
  • Şimdiye kadar neler yaptık aşağıdaki resme bakarak kontrol edin.
  • Aynı anda 2 proje üzerinde çalışıyoruz.
    1.si Project1; ActiveX kontrol için,
    2.si Project2; Standart form, test için.
  • Sol alt köşede daire içindeki Toolbox'da oluşan yeni bileşen(component) az önce bizim oluşturduğumuz ActiveX kontrolü simgeliyor.
    Ama şu an kullanılamaz durumda. Çünkü tasarım penceresi açık.
  • Kullanabilmek için Project1 - UserControl1 (UserControl) penceresini kapatın.
  • Toolbox üzerinde oluşan yeni ActiveX bileşeni denemek için üzerinde tıklayın ve Project2 içindeki Form1 üzerine yerleştirin.

Gördüğünüz gibi tek kontrolde 2 kontrol birden bulunuyor.
ActiveX kontrol bunları birleştirerek yeni bir kontrol meydana getirdi.
Bu kontrolün diğer kontroller gibi kendine has özellikleri(properties) ve olayları(events) vardır.

  • F4 tuşuyla özellikler penceresini açıp özelliklerini ayarlayabilirsiniz.
  • Buraya kadar oluşturduklarımızı kaydedelim.
  • File menüsünden Save Project Group'u tıklayın ve kaydedin.

Çalıştırma

  • Aynı anda iki proje üzerinde çalıştığımız için başlangıç projemizi belirlemeliyiz.
  • Project Group penceresinde Ctrl+R Project2 üzerinde sağ tıklayın açılan menüden Set as Start Up'ı tıklayın.
  • Bu işlem Project2'nin başlangıç projesi olmasını sağlar.
  • Visual Basic menüsünden Run / Start'ı tıklayın F5.
  • Çalışan Form1 üzerinde bizim oluşturduğumuz kontrol problemsiz bir şekilde çalışıyor.
    Yalnız herhangi bir kod girmediğimiz için aşağı ve yukarı okları işlevsizdir.
  • Menüden Run / End ile proje çalışmasını durdurun.

Kod ekleme

  • Ctrl+R'ye basın.
  • Project1 altındaki User Controls altındaki UserControl1 i çift tıklayarak Project1 penceresini açın.
  • Vscrolll kontrolünü çift tıklayarak Vscroll1_Change alt rutini için aşağıdaki kodu ekleyin.
Text1.Text = VScroll1.Value
  • Bu arada Project2'deki Form1'e bakacak olursanız eklediğimiz kontrol üzerinde çizgiler göreceksiniz. Bunun manası; bu kontrol tasarım aşamasındadır ve şu an tasarımdaki değişiklikler buraya aksetmez. Tasarım aşamasından geçiş yapmak için Project1 - UserControl1 penceresinin kapatılması gerekir.
  • F5' ile projeyi çalıştırın.
  • Şimdi okları tıkladığımızda yanındaki kutu içindeki sayı değişecek.
  • Hemen fark etmişsinizdir. Bir anormallik var.
    Aşağı oka bastığımızda sayı artıyor, yukarı okta azalıyor. Halbuki tersi olması gerekir.
    Bunu düzeltelim.
  • UserControl1 penceresinde Vscroll1'i tıklayıp F4'e basın.
  • Max özelliğine text kutusuna gelecek en büyük değeri,
  • Min özelliğine ise en küçük değeri yazın.
  • Form çalıştığında alması gereken değeri de Value özelliğine yazın. Negatif sayı da kullanabilirsiniz.
  • UserControl1 formu üzerinde çift tıklayarak UserControl_Initialize alt rutinine aşağıdaki kodları ekleyin.
Private Sub UserControl_Initialize()
	EnB = VScroll1.Max
	EnK = VScroll1.Min
	VScroll1.Max = -EnK
	VScroll1.Min = -EnB
	VScroll1.Value = -VScroll1.Value
End Sub
  • VScroll1_Change kodlarını aşağıdaki kodlarla değiştirin
Private Sub VScroll1_Change()
	Text1.Text = -VScroll1.Value
End Sub
  • Terslik bu kodlar ile düzeltildi. Şimdi çalıştırın ve deneyin.

Proje dosyaları: Vb_ile_ActiveX_Olusturma_1.rar




Sonraki Bölüm: 2: Dijital Saat

Hiç yorum yok:

Yorum Gönder