8 Aralık 2020 Salı

Vb ile ActiveX Bileşen Oluşturma-9: superText #6

Önceki bölümde kaldığımız yerden devam ediyoruz. superText ActiveX kontrolüne yeni özellikler ekleyeceğiz.

Standart kontrollerin dışında bir kontrol eklediğinizde kontrol özelliklerinde (Custom) özelliği görmüşsünüzdür (Örneğin Microsoft Windows Common Controls).

Bu özelliği çift tıkladığınızda özellikleri ayarlayabileceğiniz bir pencere (Property Pages) açılır.
Bu bölümde superText ActiveX kontrolüne Property Page ekleyeceğiz.

Property Page Ekleme

  • Önceki bölümdeki proje dosyasını açın. Eğer proje dosyaları yoksa önceki bölümdeki dosyayı indirebilirsiniz.
  • Project Group'ta SuperTextKontrol projesi seçili iken sağ tıkla / Add / Property Page tıkla
  • Açılan pencerede VB Property Page Wizard tıkla / tıkla
Property Page seçilerek boş bir özellik sayfası eklenebilir ancak işlemlerin daha hızlı ve kolay olması için VB Property Page Wizard (VB Özellik Sayfa Sihirbazı) seçtik.
  • Sihirbaz hakkında bilgi içeren bir sayfa gelecek. Next tıklayın.
  • Sonraki sayfada superText özelliklerine göre 3 özellik sayfası listede hazır gelecek.
    Bu sayfalara kendimiz ekleme yapabiliriz.
    Add butonunu tıklayın.
  • Özellik sayfa adını Yazi olarak girin. OK tıklayın. Sayfaların sıralamalarını değiştirmek isterseniz yukarı ok ve aşağı ok butonlarını kullanabilirsiniz.
  • Next tıklayın.
Sonraki sayfada hangi sayfalara hangi özelliklerin ekleneceğini belirteceğiz.
  • StandartColor sayfasına;
    • BackColor
    • ForeColor
    • OdakZeminRengi
    • OdakYaziRengi
  • StandartPicture sayfasına;
    • MouseIcon
  • StandartFont sayfasına;
    • Font
özellikleri otomatik atanmış.
  • Yazi sayfasına özellikleri atayalım. Yazi tabı seçili iken soldaki listeden eklenecek özellikleri çift tıklayarak sağ bölümdeki listeye aktarın. Next tıklayın
Sonraki sayfa bitiş sayfası.
  • Özet raporu istemiyorsanız No seçeneğini seçip Finish tıklayın.
  • Özellik sayfaları'nın(Property Page) oluştuğunu belirten pencere açılacak. OK tıklayın.
Oluşan Yazi özellik sayfası Project Group'ta Property Pages klasörü altında görünecek.
  • Yazı formunu açmak için Property Pages klasöründeki Yazi'yi çift tıklayın.

Açılan form ActiveX kontrol formu gibi başlığı ve çerçevesi olmayan bir form. Sihirbazda belirlediğimiz özelliklerin forma eklenmiş olduğunu göreceksiniz. Formda istenilen düzenleme yapılabilir.

Formda yapılan ayarlamaların kontrol özelliklerine aktarılması için gereken kodlar da otomatik olarak eklenmiştir.

Private Sub txtMetin_Change()
    Changed = True
End Sub

Private Sub chkEnabled_Click()
    Changed = True
End Sub

Private Sub chkLocked_Click()
    Changed = True
End Sub

Private Sub txtMaxLength_Change()
    Changed = True
End Sub

Private Sub txtPasswordChar_Change()
    Changed = True
End Sub

Private Sub chkRightToLeft_Click()
    Changed = True
End Sub

Private Sub PropertyPage_ApplyChanges()
    SelectedControls(0).Metin = txtMetin.Text
    SelectedControls(0).Enabled = (chkEnabled.Value = vbChecked)
    SelectedControls(0).Locked = (chkLocked.Value = vbChecked)
    SelectedControls(0).MaxLength = txtMaxLength.Text
    SelectedControls(0).PasswordChar = txtPasswordChar.Text
    SelectedControls(0).RightToLeft = (chkRightToLeft.Value = vbChecked)
End Sub

Private Sub PropertyPage_SelectionChanged()
    txtMetin.Text = SelectedControls(0).Metin
    chkEnabled.Value = (SelectedControls(0).Enabled And vbChecked)
    chkLocked.Value = (SelectedControls(0).Locked And vbChecked)
    txtMaxLength.Text = SelectedControls(0).MaxLength
    txtPasswordChar.Text = SelectedControls(0).PasswordChar
    chkRightToLeft.Value = (SelectedControls(0).RightToLeft And vbChecked)
End Sub
  • Özellikler sayfasını (Property Pages) denemek için Test projesindeki Form1 üzerindeki superText kontrolünden birinin özelliklerinde (Custom) özelliğini çift tıklayın.

  • Yazi tabını tıklayın.
Propery Pages sayfalarında yapılan ayarlamaların kontrole aktarılması için Uygula veya Tamam tıklanması gerekiyor.

Proje dosyaları: Vb_ile_ActiveX_Olusturma_9.rar



Önceki Bölüm: 8: superText #5
Sonraki Bölüm: 10: superText #7

Hiç yorum yok:

Yorum Gönder