CorelDraw VBA'da Form
DERS ADI
:
CorelDraw VBA'da Form
DERS KODU
:
CorelVBA-4
MARKA
:
CorelDraw VBA'da Form
İÇERİK
:
CorelDraw VBA'da Form
Açıklama
:
CorelDraw VBA 'da Form

İlk derslerimizde VBA'dan sözetmiş, neden gerekli olduğunu, GMS mantığını, GMS yaratmayı anlatmıştık. Kendimize özel bir GMS yarattıktan sonra içine kod yazmayı, ya da Corel'a otomatik olarak yazdırmayı da sonraki derslerde göstermiştik. Şimdiki dersimizde artık yavaş yavaş Corel VBA'ya hakim olmayı öğreneceğiz. Bunun ilk yollarından birisi de GMS modülümüz içine bir Form eklemek, bu form üzerinde Text girdileri, butonlar vb yaratmaktır.

Başta hemen notlarımı vereyim ki zorluk çekmeyin. Öncelikle video dosyasını indirip izlemenizi, dersi okuma bittikten sonra da kaynak dosya olarak gösterilen ilk.rar içindeki ilk.gms'yi önceki derste öğrendiğimiz üzere Corel klasörüne kopyalayıp incelemenizi, kaynak corel dosyasına da bir gözatmanızı öneririm.

Evet başlıyoruz;
Başta Editörümüzü açıyoruz. Project bölümünde ilk.gms üzerine 1 kez tıklayıp aktif hale getiriyoruz.

http://www.tuncolcay.com/ders/corel/corelVBA/corelVBA_1_1.jpg

Daha sonra yukarıdaki Insert menüsünden "UserForm" komutuna tıklıyoruz.

http://www.tuncolcay.com/ders/corel/corelVBA/corelVBA_2_1.jpg

Project penceresine baktığınızda orda ilk.gms altında "UserForm1" adıyla bir form oluştuğunu göreceksiniz.
http://www.tuncolcay.com/ders/corel/corelVBA/corelVBA_3.jpg

Hemen Properties penceresinde Name bölümüne gidip formumuza "ilkformum" adını verelim.

http://www.tuncolcay.com/ders/corel/corelVBA/corelVBA_4.jpg
http://www.tuncolcay.com/ders/corel/corelVBA/corelVBA_5.jpg


Çok önemi olmasa da "Caption" bölümünden formumuzun başlığına bir yazı yerleştirelim. Bu teknik olarak çok da zorunlu değildir. Eh Corel VBA'da yavaş yavaş ustalaşacağız, işin artistik yönü de olsun artık değil mi? :)

http://www.tuncolcay.com/ders/corel/corelVBA/corelVBA_6.jpg
http://www.tuncolcay.com/ders/corel/corelVBA/corelVBA_7.jpg


Gördüğünüz üzere formun üstüne caption (başlık yazısı) geldi ve formun üzeri boş.

http://www.tuncolcay.com/ders/corel/corelVBA/corelVBA_8.jpg



Hemen araç kutusundan bir text seçip formun üzerine bu araçla bir text/yazı alanı açalım.

http://www.tuncolcay.com/ders/corel/corelVBA/corelVBA_9.jpg

Devam ediyoruz. Bir de komutu çalıştıracak düğmeye gereksinimimiz var. Altta gördüğünüz gibi araç kutusundan butonu aktif edip form üzerine oluşturuyoruz.

http://www.tuncolcay.com/ders/corel/corelVBA/corelVBA_10.jpg

Butonumuza da bir caption (düğme üzerine bir yazı[onayla, ok, tamam vb]) yazı iliştirelim. Bunu buton üzerindeki yazı üzerinde faremizi kaydırıp işaretleyerek yapabiliriz.

http://www.tuncolcay.com/ders/corel/corelVBA/corelVBA_11.jpg

Yada Properties penceresindeki "Caption" bölümünden de yapabiliriz. Nasıl isterseniz, nasıl kolay gelecekse o şekilde yapın.

http://www.tuncolcay.com/ders/corel/corelVBA/corelVBA_12.jpg


Burası önemli; butonumuza standartın dışında bir ad verelim. Yine Properties penceresinin en başında "Name" e gidip oradan adını veriyoruz.

http://www.tuncolcay.com/ders/corel/corelVBA/corelVBA_13.jpg


Formun üzerine bir kez tıklayalım buton üzerindeki işaret kalksın, sonra buton üzerine 2 defa seri şekilde tıklayacağız.

http://www.tuncolcay.com/ders/corel/corelVBA/corelVBA_14.jpg

Şu şekilde bir görüntü karşınıza çıkacak. Şekil-1 'de buton tıklandığında araya yazılacak kod bölümünün boş olduğunu göreceksiniz. Şekil-2'de ise artık kodları yazmaya başlıyoruz.

Dim yazi As String 'BUNUN HERHANGİBİR GİRDİDEN (textbox, combobox vb) BİLGİ GETİRECEĞİNİ,
Dim yazilan As Shape 'BUNUN CORELDRAW'da YARATILACAK BİR NESNE OLDUĞUNU BELİRTİYORUZ...

(ilk.gms de form üzerindeki butona çift tıkladığınızda açılan kod penceresinde tüm ayrıntıları göreceksiniz.)

http://www.tuncolcay.com/ders/corel/corelVBA/corelVBA_15x.jpg

Kod yazmaya devam ediyoruz. "yazi" değerinin veriyi nerden alacağını söylüyoruz.
yazi = TextBox1.Text 'TEXTBOX'a GİRİLEN VERİNİN STRING AKTARMASINI YAPIYORUZ.
"Set=" komutuyla başlayan satırda yazıyı oluşturuyoruz. Sırasıyla;
ActiveLayer : dökümandaki aktif sayfanın aktif katmanı.
CreateArtisticText: Biz düz metin yarat.
Parantezden sonraki değerler sırasıyla;
50, 50: oluşacak yazının koordinatları
yazi : textbox'a gireceğimiz değer artık ne olacaksa onu yazacak.
cdrTurkish, cdrCharSetTurkish : yazı dil kodlamaları (ilerde ustalaştığınızda bunları yazmazsanız da olur.)
ArialTur: Yazı karakteri
72: yazının boyutu
cdrTrue, cdrTrue, cdrNoFontLine: yazının; kalın, italik, altı çizgili mi yoksa tam aksimi olacağını belirtir. True değerleri bu değerleri aktif edecektir. Birkaç deneme yaptığınızda anlamlarını tam olarak öğreneceksiniz.

yazilan.AlignToPage cdrAlignHCenter + cdrAlignVCenter, cdrTextAlignBoundingBox
üstteki bu kodda ise yazımızı sayfanın tam ortasına hizalıyoruz. komutların sırasıyla anlamları;
AlignToPage : Sayfaya göre ortala
cdrAlignHCenter : yatay ortala
+ : hizalama bitmedi bir tane daha hizalamamız var diye uyarıyoruz.
cdrAlignVCenter : dikey ortala

http://www.tuncolcay.com/ders/corel/corelVBA/corelVBA_16.jpg

* VBA'da kod yazarken program akıllı davranıp biz değerleri girdikçe kendisi açıklamalı kod pencereleri açacaktır, bu yüzden kod yazmanız hiç de zor olmayacaktır. Örneğin yazılmış bir kod satırında virgülü ya da parantezi kaldırıp tekrar sildiğiniz değeri (virgül, nokta, parantez vb) yazdığınızda akıllı kod yardımcısı devreye girip, açılan yardım penceresinden daha sonra neler yazabileceğinizi size söyleyecektir.

F5 tuşuna yada yukardaki play ikonuna tıklayıp projemizi çalıştırıyoruz.

Önemli Not: Form Corel sayfası üzerinde görüntülendiğinde arka planda (Corel içinde) tıklamaların aktif olmasını istiyorsanız. Editör'de formunuz aktif iken Properties penceresinde "ShowModal" değerini "False" olarak değiştiriniz. Diğer türlü true durumunda form Corel üzerinde açıkken sayfaya tıklama şansınız olmaz.


http://www.tuncolcay.com/ders/corel/corelVBA/corelVBA_not.jpg

Corel üzerinde formumuz açık ve textbox/yazı bölümü boş, oraya kendinize göre birşeyler yazın ve "YAZI YAZ" butonuna bir kez tıklayın. Alttaki fotoda göreceğiniz üzere sayfanın tam ortasına yazı alanına girmiş olduğunuz değer yazdırılmış olacaktır.

http://www.tuncolcay.com/ders/corel/corelVBA/corelVBA_sonuc.jpg

* Olası hata durumları:
değer yok: 5. satırdaki "yazi=" ile başlayan kod satırında "TextBox1" tanımlamasını doğru yaptığınıza emin olun. Kodları benim ilk.gms'den alıp yapıştırırsanız hatasız çalışacaktır.
form açılmıyor: Editör'de F5'e basmadan önce kod penceresi yada form aktif değildir.


Evet arkadaşlar, VBA'ya yavaş yavaş ısınmaya başladık. Kodlardaki değerleri değiştirerek değişik şekiller yaratmaya, kendiniz sıfından form yaratarak buna benzer olayları tetiklemeye çalışın. İlerdeki derslerimizde bu formu biraz daha geliştireceğiz. Hazır bulunan formumuza; Font seçme, yazı boyutu seçme vb özellikler ekleyeceğiz.

İyi Çalışmalar, Başarılar...

 

 

Kaynak dosya:
İndirmek için Tıklayın

 

Flag Counter