OLE nesnesi sayesinde zaten pahalı cizim ve illutrasyon (turkcesi ne?) programlarıyla cizdiğiniz grafikleri pat diye programa koyabiliyorsunuz. Ama amacınız aktif grafikler ise (-ki kendileri, girilen bilgi ya da alınan sonuca gore sonradan cizilen grafikler oluyorlar) VB nin bizlere verdiği cizim imkÂnlarına şoyle bir bakmanız gerekecektir.
Line Nesnesi : Arac kutusunda bulunur. Nerde kaybolur, onu bilemeyeceğim (tamam, kotu espri.). Bordercolor ile renk, Borderwidth ile kalınlık, Borderstyle ile cizim bicimini ayarlayabilirsiniz ki, bu bicimler kesik cizgi, nokta ve saydam gibi niceliklerdir. X1,Y1 başlangıc koordinatlarını, X2,Y2 ise bitiş koordinatlarını belirtmektedir. Bunlar sayesinde kod icerisinden de Line nesnesini kullanabilirsiniz.
Shape Nesnesi: Bu nesne sayesinde kare, dikdortgen, elips, daire vb şekiller cizebilirsiniz.Nesnenin shape ozelliği sayesinde cizilecek şeklin tipini belirlersiniz.
Shape.shape = (Cizilecek şekil)
0 : Dikdortgen
1 : Kare
2 : Elips
3 : Daire
4 : Yuvarlatılmış dikdortgen
5 : Yuvarlatılmış kare
Shape.Borderstyle = (Cerceve tipi)
0 : Yok
1 : Surekli
2 : Kesikli cizgi
3 : Noktalı cizgi
4 : Cizgi-nokta şeklinde kesikli cizgi
5 : Cizgi-nokta-cizgi
6 : Sınır cizgisi şeklin icinde kalır
Shape.Fillstyle = (İcinin doldurulma şekli (daha iyi ceviremedim))
0 : Tamamen dolu
1 : Boş
2 : Yatay cizgiler
3 : Dikey cizgiler
4 : Yatay ve dikey cizgiler
5 : Sola yatık cizgiler
6 : Sağa yatık cizgiler
7 : Baklava Tepsisi
Backstyle ozelliğinin değerini 0 yaparsanız; cizilen şeklin ici saydam olacaktır. Yok "Ben saydam istemiyom" deseniz,o zaman 1 yapın ki; ici renkli olsun.
Borderstyle ve Fillstyle icin yukarı bakın, bakın ki, o kadar şeyi yeniden yazmayayım. Bana da yazık değil mi?
Bunlar basit şekiller cizerken kullanabileceğimiz nesnelerdi. İstatistik gibi bilgileri şemaya dokebileceğimiz MSCHART nesnesine gecmeden once kod ile grafik cizebileceğimiz VB komutlarına da şoyle bir bakalım isterseniz.
Taa BASIC'den buyana kullandığınız, tanıdık, sevimli komutlardır bunlar. Gelin hasret giderelim.
Nesne.PSET (X,Y), Renk :X ve Y ile belirttiğiniz koordinata bir tane nokta koymaya yarar bu komut. İsterseniz renk de yazarak noktalarınızın renkli, cıvıl cıvıl olmalarını sağlayabilirsiniz. Nokta deyip kucumsemeyin. Her hangi basit bir parabolu bile line nesnesi ile cizemessiniz.
Nesne.Line (X1,Y1)-(X2,Y2),Renk,B(F) : Şirin dikdotgenler cizmek icin kullanabilirsiniz. En sondaki "B" nin yanına "F" de koyarsanız, dikdortgeninizin ici dolu olur. Koymassanız boş olur. Hem "F" koyma, hem de dolu olmasını iste! Var mı oole !?! Geyiğe girmeden devam edelim sonra cıkamayız.
Nesne.Circle (X,Y),Yarıcap,Renk, Başlangıc acısı, Bitiş acısı, Basıklık

Hepsini anlattım. Tabi boyle anlaşılmaz. Ornek gerek. Gerek de şimdi vaktim yok. Netcez şimdi? Ya uğraşın işte. Ya bakma oyle ağlamaklı, beni de ağlatacan. Tamam tamam ornek yapalım. Ama sadece nasıl kullanıldığı ile ilgili. Oyle ahım şahım bişe olmıyacak. Ha bir de Scale metotu var. Ona da bir bakalım da, orneğe oyle geceriz.
Scale Metotu : Normalde ekranın sol ust koşesi (0,0) koordinatları ile belirtilir. Bu Scale ile ekran koordinatlarını kafanıza gore değiştirebilirsiniz. Mesela Scale (-500,250)-(500,-250) ile ekranın sol ust koşesini (-500,250), sağ alt koşesini (500,-250) olarak değiştirmiş olursunuz. Ekran şuna benzer (şimdi paintle falan uğraştırmayın boyle idare ediverin işte):
(-500,250) (500,250)
(0,0)
(-500,-250) (500,-250)
Ornek_LineNesnesi :
Private Sub Command1_Click()
k = 1
For i = 1 To 10
Line1.BorderColor = QBColor(Rnd*15)'***
'*** Kullanılış şekli QBColor(Renk Kodu). Renk kodu 0-15 arasında yazılabilir.
Line1.BorderWidth = k
Line1.X1 = i * Rnd * 100
Line1.Y1 = i * Rnd * 100
Line1.X2 = i * Rnd * 100
Line1.Y2 = i * Rnd * 100
k = k + 1
If k = 6 Then k = 1
For f = 1 To 300
Next f
Next i
End Sub
Ornek_LineKomutu :
Private Sub Form_Click()
Scale (-1000,1000)-(1000,-1000)
For i= 1 To 5000 Step 100
Line (-1000+i,1000-i)-(-800+i, 800-i),QBColor(15*Rnd),BF
Next i
End Sub
__________________