Gracias a todos que ayudaram!! problema resolvido!!!
Gracias a todos que ayudaram!! problema resolvido!!!
Antonio,
Tengo en un DIALOG 18 listbox de array, 1 e 18 tem el mismo array, que son horarios. Lo que pasa es que quando clico en el button executo outra tarefa, que sea, abro una otra DIALOG e retorno sem problemas. Pero, quando clico en una celda del browse, executa la misma tarefa, mas ao retornar, mostra los browses como se tivesse ocorrido un scroll, mira la imagem.
imagem normal
imagem ao retornar quando dou click en la celda del browse
No se como proceder para que não aconteça el problema, o sea, no ocorra scroll en los browses.
Saludos desde Brasil,
Tengo en un DIALOG 18 listbox de array, 1 e 18 tem el mismo array, que son horarios. Lo que pasa es que quando clico en el button executo outra tarefa, que sea, abro una otra DIALOG e retorno sem problemas. Pero, quando clico en una celda del browse, executa la misma tarefa, mas ao retornar, mostra los browses como se tivesse ocorrido un scroll, mira la imagem.
imagem normal
imagem ao retornar quando dou click en la celda del browse
No se como proceder para que não aconteça el problema, o sea, no ocorra scroll en los browses.
Saludos desde Brasil,
Last edited by laugusto on Wed Oct 24, 2007 2:03 am, edited 5 times in total.
Luiz Augusto
São José dos Pinhais - PR
BRASIL
fwh + harbour + workshop + velhos bat´s
São José dos Pinhais - PR
BRASIL
fwh + harbour + workshop + velhos bat´s
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Antonio,
Pido disculpas por las imagenes, ai vão mas grandes.
la primera vez estou nesta tela
http://al5.us/image/images/112637mapa1.JPG
vou para esta otra tela
http://al5.us/image/images/906771mapa4.JPG
e quando retorno minha tela fica deformada
http://al5.us/image/images/384837mapa2.JPG
Saludos desde Brasil
Pido disculpas por las imagenes, ai vão mas grandes.
la primera vez estou nesta tela
http://al5.us/image/images/112637mapa1.JPG
vou para esta otra tela
http://al5.us/image/images/906771mapa4.JPG
e quando retorno minha tela fica deformada
http://al5.us/image/images/384837mapa2.JPG
Saludos desde Brasil
Luiz Augusto
São José dos Pinhais - PR
BRASIL
fwh + harbour + workshop + velhos bat´s
São José dos Pinhais - PR
BRASIL
fwh + harbour + workshop + velhos bat´s
-
- Posts: 210
- Joined: Sun Jul 23, 2006 1:15 am
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Buenos dias a todos,
Segue abajo el codigo:
- montagem do button 1 e 18, horarios do mapa:
Saludos desde Brasil,
Segue abajo el codigo:
- montagem do button 1 e 18, horarios do mapa:
Code: Select all
// Monta o Cabeçalho dos Horarios
a_Mapa[ 1] := { '07:00', '07:30', '08:00', '08:30', '09:00', '09:30', '10:00', '10:30',;
'11:00', '11:30', '12:00', '12:30', '13:00', '13:30', '14:00', '14:30',;
'15:00', '15:30', '16:00', '16:30', '17:00', '17:30', '18:00', '18:30',;
'19:00', '19:30', '20:00', '20:30', '21:00', '21:30', '22:00', '22:30' }
a_Cor[ 1] := {}
// Inicializa o Restante dos ARRAYs
For X := 2 to 32
a_Mapa[ X] := Array(32)
a_Cor[ X] := Array(32)
Next
//monta o listbox dos horarios do mapa
//--------------------------------------------------------------------------
// Mostra o Cabeçalho das Horas da Agenda - lado Esquerdo
TWBrowse():lHScroll := .f.
REDEFINE LISTBOX oBrw[ 1];
FIELDS a_Mapa[ 1][ n] ID 70 OF oMap30
oBrw[ 1]:SetArray( a_Mapa[ 1] )
oBrw[ 1]:bGotop := { || n := 1 }
oBrw[ 1]:bGoBottom := { || n := Eval( oBrw[ 1]:bLogicLen ) }
oBrw[ 1]:bSkip := { | nwant, nold | nold := n , n += nwant, n := Max( 1, Min( n, Eval( oBrw[ 1]:bLogicLen ))), n - nOld }
oBrw[ 1]:bLogicLen := { || Len( a_Mapa[ 1] ) }
// Força o browse a trabalhar com celulas
oBrw[ 1]:lCellStyle := .t.
oBrw[ 1]:nLineStyle := 4
oBrw[ 1]:lDrawHeaders := .f.
// Cor da Linha
oBrw[ 1]:nClrText := { || CLR_BLACK }
// Cor de fundo da planilha
oBrw[ 1]:nClrPane := { || nRGB( 209, 209, 209 ) }
oBrw[ 1]:lDrawSelect := .f.
oBrw[ 1]:Refresh()
//--------------------------------------------------------------------------
// Mostra o Mapa 1
// Esta montagem é exatamente igual para os mapas
// 1 a 17, o mapa 18 mostra os horarios do lado direito.
TWBrowse():lHScroll := .f.
REDEFINE LISTBOX oBrw[ 2];
FIELDS a_Mapa[ 2][ n] ID 71 OF oMap30
oBrw[ 2]:SetArray( a_Mapa[ 2] )
oBrw[ 2]:bGotop := { || n := 1 }
oBrw[ 2]:bGoBottom := { || n := Eval( oBrw[ 2]:bLogicLen ) }
oBrw[ 2]:bSkip := { | nwant, nold | nold := n , n += nwant, n := Max( 1, Min( n, Eval( oBrw[ 2]:bLogicLen ))), n - nOld }
oBrw[ 2]:bLogicLen := { || Len( a_Mapa[ 2] ) }
// Força o browse a trabalhar com celulas
oBrw[ 2]:lCellStyle := .t.
oBrw[ 2]:nLineStyle := 4
oBrw[ 2]:lDrawHeaders := .f.
// Cor da Linha
oBrw[ 2]:nClrText := { || CLR_WHITE }
// Cor de fundo da planilha
oBrw[ 2]:nClrPane := { || IF( a_Mapa[ 2][ n] = 'BLOQ', CLR_HRED,;
IF( Substr( a_Cor[ 2][ n], 20, 1 ) = '*', nRgb( 0, 193, 0 ),;
IF( Substr( a_Cor[ 2][ n], 20, 1 ) = '+', nRgb( 255, 0, 0 ), aBrush_[TCOR[ 1]] ))) }
oBrw[ 2]:bLDblClick := { | nRow, nCol | pPR_A_COD := TMP[ 1],;
bPos := 1, cPos := n,;
TESTE2( oWnd, oAgen, oMap30, pPR_A_COD, oBtn_, .t. ) }
/*
Obs.: bPos equivale ao button do profissional
cPos equivale a coluna onde se deu o click do mouse
necessários pra que possa ser feito RETORNO CORRETAMENTE.
*/
// Tooltip do conteudo da Celula, funcionalidade futura(18.10.2007 by lAugusto)
oBrw[ 2]:cTooltip := "Duplo Clique para Selecionar " + CRLF + " Horario/Profissional."
//oBrw[ 2]:bChange := { || oBrw[ 2]:cToolTip := a_Mapa[ 2][ oBrw[ 2]:nAt ] }
oBrw[ 2]:lDrawSelect := .f.
oBrw[ 2]:Refresh()
oBrw[ 2]:nDlgCode := DLGC_WANTALLKEYS
//SysRefresh()
//--------------------------------------------------------------------------
// Montagem dos Buttons dos profissionais, de 1 a 18
REDEFINE SBUTTON oBtn[ 1] ID 635 OF oMap30;
PROMPT aCbc[ 1];
ACTION( pPR_A_COD := TMP[ 1], bPos := oMap30:oCtlFocus:nId,;
TESTE2( oWnd, oAgen, oMap30, pPR_A_COD, oBtn_ ) ) CANCEL;
COLORS { |oB| IF( oB:lMouseOver,CLR_WHITE, CLR_BLACK )},;
{ |oB| IF( oB:lMouseOver,{ CLR_WHITE, CLR_BLUE },;
{ CLR_HGRAY, CLR_HGRAY } ) };
BORDER TEXT POSITION ON_CENTER
oBtn[ 1]:lCancel := .t.
oBtn[ 1]:bKeyDown := { |nKey|;
IF( nKey = VK_ESCAPE,( Ver_Tecla1( oAgen ) ),;
IF( nKey = VK_LEFT,( Anterior( 1 ) ),;
IF( nKey = VK_RIGHT,( Proximo( 1 ) ), nil ))) }
oBtn[ 1]:nDlgCode := DLGC_WANTALLKEYS
//-----------------------------------------------------------------
//------------ CLICK NO HBUTTON ------------------------------------------------------------
Function TESTE2( oWnd, oAgen, oMap30, pPR_A_COD, oBtn_, lEdita )
local oFont
DEFAULT lEdita := .f. // Quando TRUE, clicou diretamente na Célula.
pPR_A_COD := Substr( PPR_A_COD, 1, 2 ) + ( Strzero( Val( Substr( pPR_A_COD, 3, 3 ) ), 3 ) )
oPR_A_COD:Refresh()
dbSelectArea( "Pro_A01" ) // sele 7
dbSetOrder( 'IPro_A01' ) // set order to 1
dbGotop()
dbSeek( pPR_A_COD )
IF EOF()
tone( 2000, 3 )
msginfo( 'O código selecionado não consta do cadastro de profissionais.', 'Atenção Operador' )
xSetFocus( oBtn[bPos] )
Return nil
EndIF
oMap30:Hide()
oAgen:Show()
//oAgen:Enable()
//oAgen:SetFocus()
pPR_A_NOM := Pro_A01->PR_A_NOM
oPR_A_NOM:Refresh()
dbSelectArea( "Pro_C01" ) // Sele 11
dbSetOrder( 'IPRO_C01' )
dbSeek( pPR_A_COD )
TFOLGAT := Pro_C01->PR_C_FOLG
pPR_C_FUN := Pro_C01->PR_C_FUN
pPR_C_HENT := Pro_C01->PR_C_HENT
oPR_C_FUN:Refresh()
oPR_C_HENT:Refresh()
// pAG_DATA := m->tDATA by lAugusto 12/09/2007
DIA_SEMANA( oAgen )
oAgen:aControls[ 5]:Refresh() // oAG_DATA:Refresh()
oAgen:aControls[ 6]:SetText( tDIA_SEM ) // oDIA_SEM:Refresh()
// Vai para AGENDA
HORARIO( oAgen, oBtn_ ) // Rotina no AG_002.PRG
// Mostra Botoes Extras de Navegacao do Calendario
oBtn_[ 3]:Show()
oBtn_[ 4]:Show()
oBtn_[ 5]:Show()
oBtn_[ 6]:Show()
DIA( oAgen, lEdita, cpos ) // Rotina no AG_002.PRG
Return nil
//-------------------------------------------------------------------
Function Ver_Tecla1( oAgen )
local X
tMapa := .t. // Se TRUE, esta na MAPA.
tAgen := .f. // Se TRUE, esta na AGENDA.
lProc := .f.
lSai := .f. // SE FALSE, habilita buttons de funções e coloca o FOCO na data no MAPA
// destrava Buttons de Movimentação do MAPA
For X := 22 to 33
oBtn[ X]:Enable()
oBtn[ X]:Refresh()
Next
// desabilita botoes de escolha do profissional( 1 a 17, inclusive. )
For X := 1 to 17
oBtn[ X]:Refresh()
oBtn[ X]:Disable()
Next
oAG_DATA:Enable()
oAG_DATA:Refresh()
SET DATE FRENCH
DIA_SEMM( )
// Se AGENDA de 30min
IF _TPA = 'N3'
MOSTRAM1( oAgen )
Else // Se AGENDA de 20min
//
EndIF
xSetFocus( oAG_DATA )
Return nil
//----------------------------------------------------------------------
Function DIA_SEMM( )
DO CASE
Case dow( pAG_DATA ) = 1
tDIA_SEM := 'Domingo'
Case dow( pAG_DATA ) = 2
tDIA_SEM := 'Segunda'
Case dow( pAG_DATA ) = 3
tDIA_SEM := 'Terça '
Case dow( pAG_DATA ) = 4
tDIA_SEM := 'Quarta '
Case dow( pAG_DATA ) = 5
tDIA_SEM := 'Quinta '
case dow( pAG_DATA ) = 6
tDIA_SEM := '_ '
Case dow( pAG_DATA ) = 7
tDIA_SEM := 'Sábado '
ENDCASE
oDIA_SEM:Refresh()
Return nil
//-----------------------------------------------------------------------
Function MOSTRAM1( oAgen )
local I, X, Z, nInd := 2, n
TC := 7
FOR I = 1 TO 17
DO CASE
Case i = 1
pPR_A_COD = TMP[ 1]
Case i = 2
pPR_A_COD = TMP[ 2]
...
...
...
Case i = 17
pPR_A_COD = TMP[17]
ENDCASE
dbSelectArea( "Ag_Pri" ) // sele 8
dbSetOrder( "IAg_002" ) // set order to 2
dbSeek( pPR_A_COD + Dtos( pAG_DATA ) )
//----------------------------------------------------------------------
// Limpa _ do ARRAY do Listbox dos Mapas - 2 a 17
IF Len( a_Mapa[nInd] ) > 0
Z := Len( a_Mapa[nInd] )
oBrw[nInd]:bGotop := { || n := 1 }
For X := 1 To Z
Adel( a_Mapa[nInd][ oBrw[nInd]:nAt ] )
ASize( a_Mapa[nInd], Len( a_Mapa[nInd] ) - 1 )
Next
// Inicializa o Restante dos ARRAYs
a_Mapa[nInd] := Array(32)
EndIF
// Preenche o Array Mapas com os dados da AGENDA do Profissional
a_Mapa[nInd][ 1] := AG_0700A
a_Mapa[nInd][ 2] := AG_0730A
...
...
...
a_Mapa[nInd][30] := AG_0930P
a_Mapa[nInd][31] := AG_1000P
a_Mapa[nInd][32] := AG_1030P
//- Verifica se Substr( a_Cor[nInd][ n], 20, 1 ) = '*', SE SIM, pinta a celula de verde limão
a_Cor[nInd][ 1] := AG_0700AT
a_Cor[nInd][ 2] := AG_0730AT
...
...
...
a_Cor[nInd][31] := AG_1000PT
a_Cor[nInd][32] := AG_1030PT
//----------------------------
dbSelectArea( "Bloqueio" ) // sele 25
SET FILTER TO Bloqueio->BL_SEM = Dow( pAG_DATA )
dbSeek( pPR_A_COD )
IF !Bloqueio->( EOF() )
While pPR_A_COD = BL_COD
X := BL_HOR
a_Mapa[nInd][ X] := 'BLOQ'
dbSkip()
Enddo
EndIF
SET FILTER TO
oBrw[nInd]:bGotop := { || n := 1 }
oBrw[nInd]:Refresh()
dbSelectArea( "Ag_Pri" ) // sele 8
nInd += 1
Next
Return nil
Luiz Augusto
São José dos Pinhais - PR
BRASIL
fwh + harbour + workshop + velhos bat´s
São José dos Pinhais - PR
BRASIL
fwh + harbour + workshop + velhos bat´s
http://al5.us/image/images/384837mapa2.JPG
Luiz, Não consigo identificar o DEFEITO. Olhei as tres tela, e não vejo o ERRO.
Expliqe onde está o problema.
Luiz, Não consigo identificar o DEFEITO. Olhei as tres tela, e não vejo o ERRO.
Expliqe onde está o problema.
João Santos - São Paulo - Brasil
João,
Olhe as imagens, parece que esta ocorrendo um scroll nos listbox, se voce observar o primeiro listbox, vera que os horarios forma movidos acima, e acontece a mesma coisa com os outros. Este problema não ocorre se clico direto no button, executo a outra tarefa e retorno normal, mas, se clico na CELULA do listbox, ao retornar, causa um scroll.
Espero ter explicado corretamente,
Saludos,
Olhe as imagens, parece que esta ocorrendo um scroll nos listbox, se voce observar o primeiro listbox, vera que os horarios forma movidos acima, e acontece a mesma coisa com os outros. Este problema não ocorre se clico direto no button, executo a outra tarefa e retorno normal, mas, se clico na CELULA do listbox, ao retornar, causa um scroll.
Espero ter explicado corretamente,
Saludos,
Luiz Augusto
São José dos Pinhais - PR
BRASIL
fwh + harbour + workshop + velhos bat´s
São José dos Pinhais - PR
BRASIL
fwh + harbour + workshop + velhos bat´s
TWBrowse():lHScroll := .f.
Luiz, Este comando, é da TWBROWSE.PRG By Hernan???
Luiz, como esta as PROPRIEDADES da sua TWBROWSE(ListBox) no teu ARQUIVO DE RECURSOS. Se entendi, voce não quer que a LISTBOX, APRESENTE UM SCROLL, ele está desligado(desmarcado) na DIALOG??
Vefifique e reporte.
A LISTBOX que voce definui no EDITOR DE RECURSOS, é mesmo uma TWBROWSE??? Verifique.
Abraços.
Regards, saludos.
Luiz, Este comando, é da TWBROWSE.PRG By Hernan???
Luiz, como esta as PROPRIEDADES da sua TWBROWSE(ListBox) no teu ARQUIVO DE RECURSOS. Se entendi, voce não quer que a LISTBOX, APRESENTE UM SCROLL, ele está desligado(desmarcado) na DIALOG??
Vefifique e reporte.
A LISTBOX que voce definui no EDITOR DE RECURSOS, é mesmo uma TWBROWSE??? Verifique.
Abraços.
Regards, saludos.
João Santos - São Paulo - Brasil
-
- Posts: 845
- Joined: Sun Oct 09, 2005 5:36 pm
- Location: la laguna, mexico.
João,
Este comando,
Pra que voce possa entender o problema, tenho a dizer que, ao clicar na celula do listbox, escondo a dialog, oMap30:Hide(), onde estão os listbox, abro uma outra tela, oAgen:Show() que é a tela dos horarios, ao retornar, escondo oAgen:Hide() e torno a mostrar a tela do mapa, oMap30:Show(), neste momento, é que acontece o problema nos listbox, uma especie de scroll involuntario, bagunçando a tela. É como se os dados dos listbox fossem movidos para cima deixando a parte de baixo vazia, espero ter explicado corretamente.
Saludos, [/code]
Este comando,
Sim, é do Hernan, codigo fonte compilado com FWH2.6 + Harbour45;TWBrowse():lHScroll := .f.
Luiz, Este comando, é da TWBROWSE.PRG By Hernan???
CONTROL "", 71, "TWBrowse", 0 | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 46, 59, 30, 281como esta as PROPRIEDADES da sua TWBROWSE(ListBox) no teu ARQUIVO DE RECURSOS.
Sim!A LISTBOX que voce definui no EDITOR DE RECURSOS, é mesmo uma TWBROWSE??? Verifique.
Pra que voce possa entender o problema, tenho a dizer que, ao clicar na celula do listbox, escondo a dialog, oMap30:Hide(), onde estão os listbox, abro uma outra tela, oAgen:Show() que é a tela dos horarios, ao retornar, escondo oAgen:Hide() e torno a mostrar a tela do mapa, oMap30:Show(), neste momento, é que acontece o problema nos listbox, uma especie de scroll involuntario, bagunçando a tela. É como se os dados dos listbox fossem movidos para cima deixando a parte de baixo vazia, espero ter explicado corretamente.
Saludos, [/code]
Luiz Augusto
São José dos Pinhais - PR
BRASIL
fwh + harbour + workshop + velhos bat´s
São José dos Pinhais - PR
BRASIL
fwh + harbour + workshop + velhos bat´s
Amigos,
Segue link pra baixar o exe e arquivos, ao descompactar, deixar criar a pasta bellewin, e chamar o exe pelo atalho, caso o disco seja diferente de C, trocar a letra no segundo parametro do atalho de C para D. Escolher a opção agenda de profissionais e teclar F5 pra abrir o mapa.
http://discovirtual.terra.com.br/vd.cgi ... 719&_we=13
Senha de acesso: 40AE7257
Saludos,
Segue link pra baixar o exe e arquivos, ao descompactar, deixar criar a pasta bellewin, e chamar o exe pelo atalho, caso o disco seja diferente de C, trocar a letra no segundo parametro do atalho de C para D. Escolher a opção agenda de profissionais e teclar F5 pra abrir o mapa.
http://discovirtual.terra.com.br/vd.cgi ... 719&_we=13
Senha de acesso: 40AE7257
Saludos,
Luiz Augusto
São José dos Pinhais - PR
BRASIL
fwh + harbour + workshop + velhos bat´s
São José dos Pinhais - PR
BRASIL
fwh + harbour + workshop + velhos bat´s
laugusto wrote:Amigos,
Segue link pra baixar o exe e arquivos, ao descompactar, deixar criar a pasta bellewin, e chamar o exe pelo atalho, caso o disco seja diferente de C, trocar a letra no segundo parametro do atalho de C para D. Escolher a opção agenda de profissionais e teclar F5 pra abrir o mapa.
http://discovirtual.terra.com.br/vd.cgi ... 719&_we=13
Senha de acesso: 40AE7257
Saludos,
FALTA USUARIO E SENHA DE ACESSO LUIZ... DO PROGRAMA, NÃO DO TERRA.
João Santos - São Paulo - Brasil