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;
hemen ardından 2 adet de text nesnesini yerleştiriyoruz.;
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.
evet bu bölümü dolduruyoruz, videoyu kesinlikle seyretmenizi öneriyorum buraya sadece kodları ve önemli yerlerin açıklamalarını yazacağım;
Dim nCount, nNumOfFonts As Integer
Dim nDefaultFont As Integer
Dim strDefaultFont As String
ComboBox2.AddItem 16 'font boyutlarını sıralatalım
ComboBox2.ListIndex = 0 'ilk açılışta baştaki değeri göstersin (fontboyutu=16)
'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
For Each v In FontList
'Ayarlanacak varsayılan bir fontu bulalım
If v = strDefaultFont Then
'Burda o fontu ayarlamış oluyoruz
nDefaultFont = nCount
ComboBox1.ListIndex = nDefaultFont
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.
TextBox2.Text = ComboBox1.Text 'Font tipi değiştiğinde yazı alanına aktarılsın
TextBox3.Text = ComboBox2.Text 'Font boyutu değiştiğinde yazı alanına aktarılsın
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.
Ü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;
Sonra font boyutunun aktarımı oluyor mu ona da bakalım;
Gördüğünüz üzere comboboxlarda bir sorun yok, fontu ve boyutunu seçelim, yukarıya da bir yazı yazalım.
İşte istenen sonuç; yazı karakteri QuickSilver ve boyutu da 100... Görüntü karşınızda.
Tekrarlıyorum, videoyu dersi okuduktan sonra bir kez daha izlerseniz bayağı bir yararı dokunacaktır.
Tekil:5 | Çoğul:85 | Çevrimiçi: