Classe: MsCalendGrid
Cria um objeto do tipo grade de períodos.
TSrvObject -> TControl -> MsCalendGrid
New
Método construtor da classe.
MsCalendGrid(): New ( [ oWnd], [ nRow], [ nCol], [ nWidth], [ nHeight], [ dDateIni], [ nResolution], [ bWhen], [ bAction], [ nDefColor], [ bRClick], [ lFilAll], [ nTypeUnit ] ) --> oObjeto
Nome | Tipo | Descrição | Obrigatório | Referência |
oWnd | Objeto | Indica a janela ou controle visual onde o objeto será criado. | ||
nRow | Numérico | Indica a coordenada vertical em pixels ou caracteres. | ||
nCol | Numérico | Indica a coordenada horizontal em pixels ou caracteres. | ||
nWidth | Numérico | Indica a largura em pixels do objeto. | ||
nHeight | Numérico | Indica a altura em pixels do objeto. | ||
dDateIni | Data | Indica a data inicial do calendário. | ||
nResolution | Numérico | Indica a resolução que será aplicada na grade do calendário. | ||
bWhen | Bloco de código | Indica o bloco de código que será executado quando a mudança de foco da entrada de dados, na janela em que o controle foi criado, estiver sendo efetuada. Observação: O bloco de código retornará verdadeiro (.T.), se o controle permanecer habilitado; caso contrário, retornará falso (.F.). | ||
bAction | Bloco de código | Indica o bloco de código que será executado quando clicar, com o botão esquerdo do mouse, sobre o botão. | ||
nDefColor | Numérico | Indica a cor de fundo da grade. | ||
bRClick | Bloco de código | Indica o bloco de código que será executado quando clicar, com o botão direito do mouse, sobre o objeto. | ||
lFilAll | Lógico | Indica se habilita (.T.)/desabilita (.F.) o preenchimento de todo o período. | ||
nTypeUnit | Numérico | Indica o tipo de grade, 0(Default) = Horas e 1=Dias |
- ()
- Retorna o objeto criado.
oMsCalendGrid := MsCalendGrid():New( oDlg, 01, 01, 260,184,; date(), nResolution, ,{|x,y| Alert(x) },; RGB(255,255,196), {|x,y|Alert(x,y)}, .T. )
Add
<p>Adiciona um período na grade.</p>
MsCalendGrid(): Add ( [ cCaption], [ nLin], [ nInicial], [ nFinal], [ nColor], [ cDescri] ) -->
Nome | Tipo | Descrição | Obrigatório | Referência |
cCaption | Caracter | Indica o título que será inserido à esquerda da grade. | ||
nLin | Numérico | Indica o número da linha que será inserido no item. | ||
nInicial | Numérico | Indica a data inicial. | ||
nFinal | Numérico | Indica a data final. | ||
nColor | Numérico | Indica a cor que será utilizada para destacar o item. | ||
cDescri | Caracter | Indica a mensagem, do tipo dica de contexto (tooltip/hint), que será apresentada ao posicionar o ponteiro do mouse sobre o item. |
oMsCalendGrid:Add('caption 01', 1, 10, 20, RGB(255,000,0), 'Descricao 01')
ChangeColor
<p>Redefine a cor de um determinado intervalo.</p>
MsCalendGrid(): ChangeColor ( < nLinha>, < nIntervalo>, < nCor> ) -->
Nome | Tipo | Descrição | Obrigatório | Referência |
nLinha | Numérico | Indica a linha do calendário. | X | |
nIntervalo | Numérico | Indica o intervalo que será redefinido no calendário. | X | |
nCor | Numérico | Indica a cor que será utilizada no intervalo. | X |
oMsCalendGrid:ChangeColor( 1, 10, CLR_YELLOW )
Delete
<p>Exclui um intervalo do calendário.</p>
MsCalendGrid(): Delete ( < nLinha>, < nIntervalo> ) -->
Nome | Tipo | Descrição | Obrigatório | Referência |
nLinha | Numérico | Indica a linha do calendário. | X | |
nIntervalo | Numérico | Indica o intervalo que será excluído. | X |
oMsCalendGrid:Delete( 1, 10 )
GetEscala
<p>Retorna um texto informando o intervalo e a quantidade de pixels necessários para exibição do calendário.</p>
MsCalendGrid(): GetEscala ( ) --> cEscala
- (caracter)
- Retorna um texto informando o intervalo e a quantidade de pixels necessários para exibição do calendário.
oMsCalendGrid:GetEscala() // Result: 1 Intervalo = 3 Pixels
GetIntervalTime
<p>Retorna o texto definido para o intervalo.</p>
MsCalendGrid(): GetIntervalTime ( < nLinha>, < nIntervalo> ) --> cIntervalo
Nome | Tipo | Descrição | Obrigatório | Referência |
nLinha | Numérico | Indica a linha do calendário. | X | |
nIntervalo | Numérico | Indica o intervalo do calendário. | X |
- (caracter)
- Retorna o texto que contém informações sobre o intervalo.
oMsCalendGrid:GetIntervalTime(1,10) //Result: 09/06/08 02:15 - 09/06/08 04:45 - Descricao 01
GoNext
<p>Posiciona o ponteiro do mouse no início, do próximo intervalo, da linha selecionada.</p>
MsCalendGrid(): GoNext ( ) -->
oMsCalendGrid:GoNext()
GoPrev
<p>Posiciona o ponteiro do mouse no início, do intervalo anterior, da linha selecionada.</p>
MsCalendGrid(): GoPrev ( ) -->
oMsCalendGrid:GoPrev()
Reset
<p>Limpa todos os intervalos do calendário.</p>
MsCalendGrid(): Reset ( ) -->
oMsCalendGrid:Reset()
SetDateIni
<p>Define a data inicial do calendário.</p>
MsCalendGrid(): SetDateIni ( < dDataIni> ) -->
Nome | Tipo | Descrição | Obrigatório | Referência |
dDataIni | Data | Indica a data inicial do calendário. | X |
oMsCalendGrid:SetDateIni( ctod("01/01/2008") )
SetDefColor
<p>Define a cor de fundo do calendário.</p>
MsCalendGrid(): SetDefColor ( < nCor> ) -->
Nome | Tipo | Descrição | Obrigatório | Referência |
nCor | Numérico | Indica a cor de fundo do calendário. | X |
oMsCalendGrid:SetDefColor( CLR_HRED )
SetResolution
<p>Define a resolução para exibição dos períodos.</p>
MsCalendGrid(): SetResolution ( < nResolução> ) -->
Nome | Tipo | Descrição | Obrigatório | Referência |
nResolução | Numérico | Indica a resolução que será utilizada para exibição dos períodos. | X |
oMsCalendGrid:SetResolution(1)
SetTimeUnit
Define o tipo de grade, 0 = Horas e 1 = Dias.
MsCalendGrid(): SetTimeUnit ( < nTypeUnit> ) -->
Nome | Tipo | Descrição | Obrigatório | Referência |
nTypeUnit | Numérico | Define o tipo de grade, 0 = Horas e 1 = Dias | X |
Método disponível em builds superiores a 7.00.101202A.
nTypeUnit := 1 // [0=Horas(Default) e 1=Dias]oMsCalendGrid := MsCalendGrid():New( oDlg,01,01,500,125,,nResolution,,,,,.T. )oMsCalendGrid:SetTimeUnit(nTypeUnit)
Propriedade | Descrição | Tipo |
cTopMsg | Indica o texto a ser exibido na lateral esquerda superior.Disponível a partir de build superior à 7.00.111010P | Caracter |
nLineAtu | Indica a linha que será selecionada. | Numérico |
nZoom | Indica o zoom que será definido. | Numérico |
#include "TOTVS.CH"
User Function MsCalendGrid()
DEFINE DIALOG oDlg TITLE "Exemplo MsCalendGrid" FROM 180,180 TO 550,700 PIXEL
// Cria Calendário
nResolution := 4
oMsCalendGrid := MsCalendGrid():New( oDlg, 01, 01, 260,184,;
date(), nResolution, ,{|x,y| Alert(x) },;
RGB(255,255,196), {|x,y|Alert(x,y)}, .T. )
// Adiciona periodos
oMsCalendGrid:Add('caption 01', 1, 10, 20, RGB(255,000,0), 'Descricao 01')
oMsCalendGrid:Add('caption 02', 2, 20, 30, RGB(255,255,0), 'Descricao 02')
oMsCalendGrid:Add('caption 03', 3, 01, 05, RGB(255,0,255), 'Descricao 03')
ACTIVATE DIALOG oDlg CENTERED
Return