Práctica 10:FlexGrid Control.
1.- El programa Table.

Debido a que el control Grid es un
control ActiveX, antes de que pueda añadirlo en un formulario debe asegurarse
de que está incluido en el proyecto.
Para incluir un control en nuestro
proyecto tenemos que ir a la opción de menú Project/Components. De tal forma
que nos aparece una lista con todos los componentes disponibles a incluir en el
proyecto.


Dicho control ha de aparecer dentro de la lista de controles del proyecto.

Presionando el botón derecho del ratón y eligiendo la opción de propiedades podemos ver un cuadro de dialogo con las propiedades del objeto.
Las más significativas son las que son de tipo general como:
Rows: Nº de filas.
Cols: Nº de columnas.
Fixed Rows: Nº de filas fijas.
Fixed Cols: Nº de columnas fijas.
ScrollBars: Selección de las barras de Scroll que aparecen, etc..
Atributos y métodos utilizados en el programa:
Col,
Row, Text, ColAlignment(n_col), ColWidth(n_col), RowHeight(n_Row).
El alumno debe utilizar el help para encontrar información acerca de estos métodos y propiedades.
El código del programa es el siguiente:
'Todas las variables deben declararse.
Option
Explicit
Private
Sub cmdAling_Click()
Dim ColCounter As Integer
'Centra el texto en las celdas
For ColCounter = 1 To grdTable.Cols
- 1
grdTable.ColAlignment(ColCounter) =
flexAlignCenterCenter
Next ColCounter
End
Sub
Private
Sub cmdClear_Click()
Dim
RowCounter As Integer, ColCounter As Integer
For ColCounter = 1 To grdTable.Cols - 1
grdTable.Col = ColCounter
For RowCounter = 1 To grdTable.Rows -
1
grdTable.Row = RowCounter
grdTable.Text = ""
Next RowCounter
Next ColCounter
End
Sub
Private
Sub cmdExit_Click()
End
End
Sub
Private
Sub Form_Load()
SetColWidth
SetRowHeight
InicializaGrid
FillCells
End
Sub
Private
Sub InicializaGrid()
'Establece la fila actual a la fila
#0
grdTable.Row = 0
'Escribe
en la fila #0 columna #1
grdTable.Col
= 1
grdTable.Text = "Electricidad"
'Escribe
en la fila #0 columna #2
grdTable.Col = 2
grdTable.Text = "Agua"
'Escribe
en la fila #0 columna #3
grdTable.Col = 3
grdTable.Text = "Transporte"
'Escribe
en la fila #0 columna #4
grdTable.Col = 4
grdTable.Text = "Alimentación"
'Establece la columna actual en la columna #0
grdTable.Col = 0
'Escribe
en la fila #1 columna #0
grdTable.Row = 1
grdTable.Text = "Enero"
'Escribe en la fila #2 columna #0
grdTable.Row = 2
grdTable.Text = "Febrero"
'Escribe
en la fila #3 columna #0
grdTable.Row = 3
grdTable.Text = "Marzo"
'Escribe en la fila #4 columna #0
grdTable.Row = 4
grdTable.Text = "Abril"
'Escribe en la fila #5 columna #0
grdTable.Row = 5
grdTable.Text = "Mayo"
'Escribe en la fila #6 columna #0
grdTable.Row = 6
grdTable.Text = "Junio"
'Escribe en la fila #7 columna #0
grdTable.Row = 7
grdTable.Text = "Julio"
'Escribe en la fila #8 columna #0
grdTable.Row = 8
grdTable.Text = "Agosto"
'Escribe en la fila #9 columna #0
grdTable.Row = 9
grdTable.Text = "Septiembre"
'Escribe
en la fila #10 columna #0
grdTable.Row = 10
grdTable.Text = "Octubre"
'Escribe
en la fila #11 columna #0
grdTable.Row = 11
grdTable.Text = "Noviembre"
'Escribe
en la fila #12 columna #0
grdTable.Row = 12
grdTable.Text = "Diciembre"
End
Sub
Private
Sub SetColWidth()
Dim Counter As Integer
For Counter = 0 To grdTable.Cols - 1
grdTable.ColWidth(Counter) = 1150
Next Counter
End
Sub
Private
Sub SetRowHeight()
Dim Counter As Integer
For Counter = 0 To grdTable.Rows - 1
grdTable.RowHeight(Counter) = 300
Next Counter
End
Sub
Private
Sub FillCells()
Dim
RowCounter As Integer, ColCounter As Integer
For ColCounter = 1 To grdTable.Cols - 1
grdTable.Col = ColCounter
For RowCounter = 1 To grdTable.Rows -
1
grdTable.Row = RowCounter
grdTable.Text = "UnKnow"
Next RowCounter
Next ColCounter
End Sub