contedo: informaes sobre o componente workgrid
propriettio : Sisformatica do Brasil Ltda.
site: www.workpage.com.br
e-mail: suporte@workpage.com.br
desenvolvido para: Visual Basic e Internet Explorer

***************
* Comentrios *
***************
-totalmente compatvel com o Visual Basic e Internet Explorer
-permite digitao nas colunas
-colunas podem ser label, textbox, combobox,optionbutton
     e button para localizao de arquivos.
-na propriedade .versao retorna o lay-out do grid.
-permite crtica de data, hora, nmerico.
-possui um menupopup para receber dados do clipboard e
     deletar linhas do grid (com dois click's na linha)
-concatena as colunas de cabealho
      +----------------------------+
           dia           mes     
      --------------+-------------
      incio  fim  incio  fim 
      +----------------------------+

****************************************************
* compatibilidade Visual Basic X Internet Explorer *
****************************************************
o componente workgrid roda nas duas plataformas. A nica
diferena,  o nome das propriedades, que na internet
 acrescentado o prefixo wk     exemplo:

Visual Basic:          Internet Explorer
-----------------------------------------
AllowUserResizing     wkAllowUserResizing
BackColor             wkBackColor  
text                  wktext
col                   wkcol
row                   wkrow  

...e assim por diante para todas as propriedades.

INTERNET EXPLORER:
------------------
Para receber os dados quando estiver rodando na internet
 necessario enviar o comando "*workgrid - workpage*" em JavaScript/VBScript
Exemplo:
enviar um texto : workgrid1.wktext("texto a enviar")
enviar a coluna : workgrid1.wkcol(numero da coluna atual)
enviar a linha  : workgrid1.wkcol(numero da linha atual)
receber texto   : x=workgrid1.wktext("*workgrid - workpage*")
receber coluna  : x=workgrid1.wkcol("*workgrid - workpage*")
receber linha   : x=workgrid1.wkrow("*workgrid - workpage*")

FRAGUIMENTO DE UMA ROTINA JavaScript usando o workgrid
-------------------------------------------------------
recuperando os dados na varivel 'x2'

	workpage="*workgrid - workpage*"
	document.Form1.workgrid1.wkRedraw(0); //false ou falso
	for (j=0 ;j<=document.Form1.workgrid1.wkrows(workpage)-1;j++) {	
		document.Form1.workgrid1.wkrow(j);
		for (i=0 ;i<=document.Form1.workgrid1.wkCols(workpage)-1;i++) {
			document.Form1.workgrid1.wkCol(i);
			x2=document.Form1.workgrid1.wkText(workpage);
			if (x2=="") {
				x2="nada digitado ";
			}
			else {
				x2="criticar a digitacao";
			}
		}
	}
	document.Form1.workgrid1.wkRedraw(-1); //true ou verdadeiro

********************
* eventos publicos:*
********************
 Click(Index)
 KeyPress(Index)
 KeyDown(Index)
 KeyUp(Index)


****************
* propriedades *
****************

AllowUserResizing
  workResizeNone = 0
  workResizeColumns = 1
  workResizeRows = 2
  workResizeBoth = 3
BackColor
CellBackColor
CellConcat
CellFontName
CellFontSize
CellForeColor
CellHeight
CellWidth
Clear
Clip
  GetClipboard = 0
  SetClipboard = 1
ColAlignment
  workAlignCenter = 2
  workAlignLef = 0
  workAlignRight = 1
Col
Cols
ColWidth
Enabled
  wFalse = False
  wTrue = True
FixedRows
FixedCols
Font
FontSize
ForeColor
GridColor
GridLineWidth
Height
LeftCol
MaxRows
MaxCols
MaxLength
Protect
Redraw
Row
RowConcat
RowHeight
RowRevers
Rows
ScrollBars
  workScrollBoth = 0
  workScrollHorizontal = 1
  workScrollNone = 2
  workScrollVertical = 3
Versao
Text
TopRow
Width


******************
* tipo de coluna *
******************
   1 combobox (coluna ESPECIAL (com objeto combobox))
   2 checkbox (coluna ESPECIAL (com objeto checkbox))
   3 data     'coluna normal com critica data valida
   4 hora     'coluna normal com critica de hora valida ( hh:mm)
   5 numero   'coluna normal com critica numerico
   6 button   (coluna ESPECIAL (com objeto button))
                'para retornar o controle para o formulario
                'como exemplo..procurar o enereo de um arq.
   7 qtdehora 'coluna normal com critica quantidade de horas (hhhhh:mm)
                'ex:120:59  120 minutos 59 segundos (minutos validos)





 possvel ter at 4 tipos de colunas ESPECIAIS no mesmo componente: 
cada objeto ( combobox, button ou checkbox) deve ter um numero:
0000 ou 0100  ou 0200  ou  0300

exemplo do objeto checkbox:
-----------------------
  workgrid1.col = 3
  workgrid1.Text = "Registro Ativo?"
  workgrid1.Versao = "10320100|"
lay-out da coluna 3 sendo um checkbox
    "10320000|"
     1 - constante 
      03 - numero da coluna
        2 - tipo do objeto da coluna. neste caso checkbox
         0000 - numero do objeto dessa coluna ESPECIAL.

exemplo objeto combobox
-------------------
    x="direita|esquerda|centro"
    workgrid1.Col = 5
    workgrid1.Text = "escolha uma das opcos"
    workgrid1.Protect = True
    workgrid1.Versao = "10510100|" & x & "|"
lay-out da coluna 5 sendo um combo
    "10510100|direita|esquerda|centro|"
     1 - constante 
      05 - numero da coluna
        1 - tipo do objeto da coluna. neste caso combo
         0100 - numero do objeto dessa coluna ESPECIAL.
                (obs: o numero 0000 ja esta sendo usado na coluna 3)

exemplo objeto button
---------------------
    workgrid1.Col = 9
    workgrid1.Text = "Localizar o arquivo"
    workgrid1.Protect = True
    workgrid1.Versao = "10960200|"
lay-out da coluna 9 sendo um button
    "10960200|"
     1 - constante 
      09 - numero da coluna
        6 - tipo do objeto da coluna. neste caso button
         0200 - numero do objeto dessa coluna ESPECIAL.
                (obs: os numeros 0000 e 0100 ja esto sendo usados
                      nas colunas  3 e 5 respectivamente)

	-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
	fraguimento de uma rotina em visual basic usando evento click
	em uma coluna tipo 6 "button" 
	Private Sub workgrid1_Click(Index As Variant)
	  If Int(Index / 100) = 9 Then 'verifica se clikou na coluna 9
	    workgrid1.Row = (Index Mod 100) 'apontar para linha clikada
	    workgrid1.Col = 9 'Int(Index / 100) 'apontar para coluna clicada
  	    Call rotina_localizar_o_arquivo_click
	    workgrid1.text = variavel_contendo_o_endereco 'atualizar texto
  	  End If
	End Sub
	-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

exemplo coluna com  critica numerico
------------------------------------
    workgrid1.Col = 11
    workgrid1.Text = "Percentual"
    workgrid1.Versao = "1115|"
lay-out da coluna 11 sendo uma critica de numero
    "1115|"
     1 - constante 
      11 - numero da coluna
        5 - tipo da critica da coluna, neste caso critica de data
            (obs: nao utiliza objetos)  

exemplo coluna com  critica hora
--------------------------------
    workgrid1.Col = 12
    workgrid1.Text = "hora"
    workgrid1.Versao = "1124|"
lay-out da coluna 12 sendo uma critica de hora
    "1124|"
     1 - constante 
      12 - numero da coluna
        4 - tipo da critica da coluna, neste caso critica de hora
            (obs: nao utiliza objetos)

exemplo coluna com  critica de quantidade de horas
---------------------------------------------------
    workgrid1.Col = 14
    workgrid1.Text = "qtd.horas"
    workgrid1.Versao = "1147|"
lay-out da coluna 14 sendo uma critica de quantidade de horas
    "1147|"
     1 - constante 
      14 - numero da coluna
        7 - tipo da critica da coluna,caso critica de quantidade hora
            (obs: nao utiliza objetos)

observao: as colunas de critica sem objetos nao tem restrio de qtd.
             podem ser usadas para todas as colunas do componente. 

-----------------------------------------------------------
dica para o .maxrows

workgrid1.Rows = 0
workgrid1.Row = 0
workgrid1.col = 0
workgrid1.text = "cabealho"

indrow = 1
  Do While verdadeiro
    If indrow > workgrid1.Rows Then
      workgrid1.Rows = workgrid1.Rows + 1
      workgrid1.Row = indrow
    End If
    workgrid1.Col = 0
    workgrid1.Text = "texto da coluna"
    indrow = indrow + 1
  Loop

'------------------------------------------------------------------------
dica para usar cabealho com duas linhas (workgrid1.FixedRows = 2) :
 ____________________________
|   Data    |     Data       |
|Vencimento | Cadastramento  | 
|           |                | 
....

  workgrid1.Rows = 2   'minimo de duas linhas para o cabealho 
  workgrid1.Cols = 2
  workgrid1.Row = 0

  workgrid1.Col = 1
  workgrid1.ColWidth = 2000
  workgrid1.Text = "   Data"
  workgrid1.Row = 1
  workgrid1.Text = "Vencimento"
  workgrid1.Row = 0      'votar para a primeira linha (p/ digitar a proxima coluna)

  workgrid1.Col = 2
  workgrid1.ColWidth = 2200
  workgrid1.Text = "    Data"
  workgrid1.Row = 1
  workgrid1.Text = " Cadastramento"
  workgrid1.Row = 0      'votar para a primeira linha (p/ digitar a proxima coluna)
