VB Grid Kullanma Grid Kontorlü, hücrelerden meydana gelen Excel'deki sayfalara benzer bir kontroldür.
Grid kontrolünü kullanabilmek için Project-components menüleri ile açılan pencerelerden "Microsoft Grid Kontrol" seçeneğini işaretlemeniz veya Browse düğmesi ile GRID32.OCX dosyasını bulup projeye eklemeniz gerekir.
Properties
--------------------------------------------------------------------------------
Cols,Rows
Bu özellikler; bir hücrede bulunması gereken satır ve sütun sayılarını belirtirler. Bunun minimum değeri 1'dir.Bu ızgarada en fazla 2000 satır ve 400 sütun oluşturulabilir.
Grid1.Cols=6 ve Grid1.Rows=10 gibi...
FixedCols,FixedRows
Tablo üzerinde kullanıcıların erişemediği ve sütun ve satırların başlığı olarak kullanılan sütun ve satır sayısını belirler.Normalde her ikisinin değeri de 1'dir.Bu sayıyı arttırabilir veya 0 yaparak kaldırabilirsiniz.
Grid1.FixedRows=2 ve Grid1.FixedCols=3 gibi...
Col,Row
Bir ızgarada, üzerinde işlem yapılacak hücre adresini belirtir.İlk satır için Row=0, ilk sütun için Col=0'dır. Bu iki değer aktif hücreyi belirler. Kullanıcı aktif hücreyi yön tuşlarıyla veya mouse ile değiştirebilir.Ancak ilk satır ve ilk sütundaki hücreleri aktif hücre yapamaz.(Daha genel olarak FixedRows ve FixedCols özelliği ile belirlenen gri renkli hücreler seçilemez)
Text
Aktif hücrenin içindeki metni temsil eder.Bu özellikle aktif hücrenin içeriği öğrenilebilir veya değiştirilebilir.
Grid1.Col=0 Grid1.Row=1 Grid1.text="Deneme" gibi...
CelSelected
Bu özellik; Col ve Row özelliği ile belirlenen hücrenin seçili olup olmadığını belirtir.
SelStartCol, SelEndCol, SelStartRow, SelEndRow
Seçili bölgenin başlangıç ve bitiş adresleri bu özelliklerle belirlenir.Hücreleri seçmek veya seçili hücreleri öğrenmek için bu özellikler kullanılır. Bu özelliklerin değerleri FixedCols ve FixedRows hücrelerini içeremez.
Clip
Bir ızgara içindeki seçilmiş olan bölgenin içeriğini verir. Ayrıca bir çok hücreye birden atama imkanı verir. Aynı satırdaki hücreler arasında Chr(9) karakteri, bir sonraki sütuna geçiş içinde Chr(13) karakteri bulunur.
ColAlignment(kolon)
Numarası verilen kolondaki hücrelerin içeriğini sola,sağa veya ortaya yerleştirir. 0-2 arası bir değer alabilir.
0 : Sola yanaştır
1 : Sağa yanaştır
2 : Ortala
FixedAlignment(kolon)
ColAlignment özelliği gibidir ancak yanlız Fixed olarak adlandırılan yani gri renkli kolonların alignmentini ayarlar.
ColWidth(Kolon)
Numarası verilen kolonun genişliğini ayarlamaya yarar. Atanan değerin birimi Twip cinsinden olmalıdır.
RowHeight(Satır)
Numarası verilen satırın yüksekliğini ayarlamaya yarar. Atanan değerin birimi Twip cinsinden olmalıdır.
FullStyle
0 : Yapılan değişiklik sadece aktif hücreyi etkiler.
1 : Yapılan değişiklik seçili olan bütün hücreleri etkiler.
GridLines
False verilerek hücreler arasında ayırma çizgilerinin görüntülenmemesi sağlanabilir.
Picture
Bu özellik diğer nesnelerin Picture özelliği gibidir. grid nesnesinin her bir hücresine bu özellikle resim eklenebilir.
ScroolBars
0 : Yok
1 : Yatay
2 : Dikey
3 : Yatay ve Dikey
ScroolBars özelliği ile grdi hücrelerinin nesne içerisine sığmadığı durumlarda kaydırma çubuklarının eklenmesi sağlanabilir.
LeftCol, TopRow
O anda ekranda görülen satır ve sütun numarası bu özelliklerle öğrenilebilir. Grid hücreleri kontrolün sınırlarını aşıyorsa ekranda görülen hücreler bu özelliklerle belirlenir.
Events
--------------------------------------------------------------------------------
RowColChange()
Aktif olan hücre kontrolünün başka bir hücreye geçmesi halinde yani o hücrenin aktif olması halinde RowColChange olayı meydana gelmektedir.
SelChange()
Seçili alanın değişmesi halinde bu olay meydana gelir.
Bir işlem tablosu yapıp, kullanıcının girdiği fiyata kar oranı eklendikten sonra satış fiyatını hesaplayabilirmiyiz?
Bunun için formumuza grid1 yerleştirip ve aşağıdaki kodu General kısmına ekleyelim.
Private Sub Form_load()
grid1.col=0
grid1.row=1
grid1.text="TV"
grid1.row=2
grid1.text="M. Seti"
grid1.row=3
grid1.text="Ütü"
grid1.row=4
grid1.text="Masa"
grid1.row=5
grid1.text="Takvim"
grid1.row=6
grid1.text="Yazıcı"
grid1.row=0
grid1.col=1
grid1.text="Alış F"
grid1.col=2
grid1.text="Kar O"
grid1.col=3
grid1.text="Satış F"
end sub
Private Sub Grid1_Click()
Dim x,y
grid1.text=Val(inputbox("Değer :"))
grid1.col=1
x=grid1.text
grid1.col=2
y=Val(grid1.text)
grid1.col=3
grid1.text=x+x*y/100
end sub
İcon gösteren program yapabilirmiyiz?
Bunun için formumuza grid1,listbox1, file1,drive1,dir1 yerleştirip ve aşağıdaki General kısmına ekleyelim.
Private sub Form load()
Grid1.FixedCols=0
Grid1.FixedRows=0
Grid1.Rows=1
Grid1.Cols=1
File1.Pattern="*.ico"
File1.Visible=False
Grid1.ColWidth(0)=32*screen.TwipsPerPixelX+TextWid th("X")*12
End Sub
Private Sub Drive1_Change()
ChDrive drive1.drive
dir1.path=drive1.drive
End sub
Private Sub Dir1_Change()
On Local Error Resume Next
ChDir dir1.path
file1.path=dir1.path
Dim i
grid1.rows=file1.listcount-1
screen.mousePointer=11
For i=1 To file1.listcount
grid1.Row=i-1
grid1.RowHeight(i-1)=32*screen.TwipsPerPixelY
grid1.picture=LoadPicture(file1.List(i-1))
grid1.text=file1.List(i-1)
Next
screen.MousePointer=0
End Sub |