Google Reklamları =)

Hakan Özdemir

CorelDraw VBA - Formu ve Kod Bilgimizi Geliştirme

Önceki dersimizde GMS içine form eklemeyi, form üzerine yazı alanı, buton eklemeyi artı olarak butondan bir komutu tetiklemeyi öğrenmiştik. Şimdiki dersimizde formumuzu biraz daha geliştirip, form üzerine comboboxlar ekleyip, üzerlerine değer atamayı (font listesi, font boyutu listesi) bu değerleri de yaptıracağımız komuta aktarmayı öğreneceğiz.

Baştan belirtmeliyim ki bu ders, önceki ilk 3 VBA konulu dersin okunup, çalışılması sonrasında görülmelidir. İleri düzey VBA kullanıcıları için pek bir sorun olmayacak gibi görünse bile ben her koşulda bu arkadaşların da önceki derslere bakmalarını öneriyorum.

Evet dersimize başlayalım. Önceki derste vermiş olduğum (ders başlığı: CorelDraw VBA'da Form dosya: ilk.gms ) ilk.gms modülümüz içinde bulunan formu aktif hale getiriyoruz ve üzerine 2 adet combobox yerleştiriyoruz;

http://img.sanalkurs.net/uploads/drs9_1.jpg
http://img.sanalkurs.net/uploads/drs9_2.jpg

hemen ardından 2 adet de text nesnesini yerleştiriyoruz.;
http://img.sanalkurs.net/uploads/drs9_3b.jpg

Kod penceresine gidip, formumuz yüklenirken gerçekleşmesi gereken olayların tetiklenmesi için biraz kod yazmamız gerekiyor. (form / initialize)
not: kod penceresine çabuk geçmek için "yazı yaz" butonunun üzerine 2 defa seri olarak tıklayabilirsiniz.
http://img.sanalkurs.net/uploads/drs9_4.jpg

evet bu bölümü dolduruyoruz, videoyu kesinlikle seyretmenizi öneriyorum buraya sadece kodları ve önemli yerlerin açıklamalarını yazacağım;

Private Sub UserForm_Initialize()
Dim nCount, nNumOfFonts As Integer

Dim nDefaultFont As Integer

Dim strDefaultFont As String
  Dim v As Variant
  With ComboBox2
  ComboBox2.AddItem 16 'font boyutlarını sıralatalım
  ComboBox2.AddItem 32
  ComboBox2.AddItem 48
  ComboBox2.AddItem 72
  ComboBox2.AddItem 100
  ComboBox2.AddItem 200

ComboBox2.ListIndex = 0 'ilk açılışta baştaki değeri göstersin (fontboyutu=16)
End With
'burada font koleksiyonu üzerinde bir döngü oluşturuyoruz.
  nNumOfFonts = FontList.Count
  strDefaultFont = "Times New Roman" 'ilk açılışta varsayılan fontu da belirleyelim
  'Tüm font listemizi (windows font klasörüne yüklenmiş) alalım
  'Tüm fontları açılır kutumuza yükleyelim
  nCount = 0
For Each v In FontList
    ComboBox1.AddItem v
    'Ayarlanacak varsayılan bir fontu bulalım
    If v = strDefaultFont Then
      'Burda o fontu ayarlamış oluyoruz
      nDefaultFont = nCount
End If
    nCount = nCount + 1
Next v
ComboBox1.ListIndex = nDefaultFont

End Sub 


Baştaki form tetiklenmesi kodlarını yazdıktan sonra şimdi de comboboxların içerik değerleri değiştiği zaman bu değişen değerlerin textbox'lara aktarılması için gerekli olan kodları yazalım. (normalde string değerleri combobox üzerinden alabilsek de ben burada özellikle verileri textboxlara aktarttım, fazla bilgiden zarar gelmez değil mi? )

Formumuz üzerindeki ilk combobox'a çift tıklayıp kod penceresinde combobox tıklandığı zaman oluşacak olayın (textbox'a veriyi aktarma) kodlarını da yazalım.
http://img.sanalkurs.net/uploads/drs9_5.jpg

Private Sub ComboBox1_Change()
TextBox2.Text = ""
TextBox2.Text = ComboBox1.Text 'Font tipi değiştiğinde yazı alanına aktarılsın
End Sub

Private Sub ComboBox2_Change()
TextBox3.Text = ""
TextBox3.Text = ComboBox2.Text 'Font boyutu değiştiğinde yazı alanına aktarılsın
End Sub 


Diğer combobox'a da aynı yöntemle görmüş olduğunuz kodları (üstte) ekliyoruz.

Evet form hazır ama aşağıda (buton'a basıp yaz komutunu verdiğimizde değerleri bu combobox karşısındaki değerlerden okuyacak) sadece 2 küçük yerin değişmesi gerekiyor. (font adı ve boyu / geçen ders konusunda kod satırında: font adı=ArialTur ve boyutu da=35 idi.
http://img.sanalkurs.net/uploads/drs9_6.jpg

Üstte gördüğünüz üzere ArialTur yazan yeri TextBox2, 35 yazan yeri de TextBox3 ile değiştirdim. Burada bir string aktarımı yapmış olduk. Diğer bir deyim ile Textboxlara girilen değerler artık işlem yapılırken bir anlam taşıyorlar.

Bakalım formumuz istediğimiz gibi çalışıyor mu, önce Font değişimine bakalım;
http://img.sanalkurs.net/uploads/drs9_comb2.jpg

Sonra font boyutunun aktarımı oluyor mu ona da bakalım;
http://img.sanalkurs.net/uploads/drs9_comb1.jpg

Gördüğünüz üzere comboboxlarda bir sorun yok, fontu ve boyutunu seçelim, yukarıya da bir yazı yazalım.
http://img.sanalkurs.net/uploads/drs9_7.jpg

İşte istenen sonuç; yazı karakteri QuickSilver ve boyutu da 100... Görüntü karşınızda.
http://img.sanalkurs.net/uploads/drs9_8.jpg

Tekrarlıyorum, videoyu dersi okuduktan sonra bir kez daha izlerseniz bayağı bir yararı dokunacaktır.

Başarılar, iyi çalışmalar...
Google Reklamları =)
Tekil:1421 | Çoğul:2246 | Çevrimiçi:

Bu web sitesi ücretsiz olarak Bedava-Sitem.com ile oluşturulmuştur. Siz de kendi web sitenizi kurmak ister misiniz?
Ücretsiz kaydol