como congelar coluna na twbrowse ???

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

carlos moc
Usuário Nível 2
Usuário Nível 2
Mensagens: 68
Registrado em: 16 Out 2017 16:00
Localização: Montes Claros MG - Zap (38)99831-5319

como congelar coluna na twbrowse ???

Mensagem por carlos moc »

Boa noite a todos !!!

Peguei alguns exemplos mas não funcionaram, penso que tenho que usar uma lib de terceiro mas não queria isso

oLbxm:= TWBrowse():ReDefine( 801,bCampos,oDlgm,aCab,aColunas,,,,{|| Atualrec( ciapnovo->registro, ciapnovo->codigo, aoGetsa, @aDadosa, nPosCod, nPosnome, lDesc,cTabela ) },,,oFnt,,,,, .F.,,,,, )
oLbxm:nFreeze := 2 //não da erro mas também não funciona. !!

agradeço a atenção de todos
Avatar do usuário
Vander
Usuário Nível 3
Usuário Nível 3
Mensagens: 214
Registrado em: 23 Jul 2004 01:43
Localização: João Monlevade - MG

como congelar coluna na twbrowse ???

Mensagem por Vander »

Olá Carlos;
Não se se existe, mas eu criei um "tipo de congelamento "com 2 Lisbox relacionadas.
Veja o link abaixo, se servir eu posto o código na próxima semana. "Estarei fora de casa até terça (18/08).

https://youtu.be/mf49t0AwKpY
HbMake v1.17
xHarbour build 0.99.70 Intl. (SimpLex)
Borland C++ 5.5.1
fivewin 6.12 (FREE)
Workshop 4.5
MEdit
carlos moc
Usuário Nível 2
Usuário Nível 2
Mensagens: 68
Registrado em: 16 Out 2017 16:00
Localização: Montes Claros MG - Zap (38)99831-5319

como congelar coluna na twbrowse ???

Mensagem por carlos moc »

Exatamente isso que preciso. !!! me adicione ai também se puder, te aguardo anciosamente .rsrsr
Avatar do usuário
Vander
Usuário Nível 3
Usuário Nível 3
Mensagens: 214
Registrado em: 23 Jul 2004 01:43
Localização: João Monlevade - MG

como congelar coluna na twbrowse ???

Mensagem por Vander »

Olá;
Acessei meu servidor pelo remoto e consegui pegar o código.
Como programo mais por hobby, o código não é muito elaborado mas funciona e acho que é de fácil compreensão.
Se alguém puder melhora-lo, favor postar.

Código: Selecionar todos

/*
Sistema.................: SISCON - Sistema de Consórcios
Módulo..................: Consulta detalhada de consorciados
Data Última alteração...: 19/02/2019
Ultima alteração........: Imcluir busca por nome
*/
#INCLUDE "FiveWin.ch"
#Include "VOGET.ch"
#Define CLR_LGREEN    nRGB( 190, 215, 190 )
#Define CLR_LGRAY     nRGB( 230, 230, 230 )
#Define CLR_VERMELHO  nRGB( 255, 000, 000 ) //--> Vermelho Para a Letra
#Define CLR_AMARELO   nRGB( 255, 255, 000 ) //--> Amarelo Para o Fundo
//--------------------------------------- LISTAGEM DETALHADA DE CONSORCIADOS
FUNCTION CODETALH()
//--------------------------------------- FECHAR DBF ABERTOS NA ESTAÇÃO E REABRI-LOS
   CLOSE DATABASE
   ABRIR()
//--------------------------------------- VERIFICA SE TEM BLOQUEIO
   SELECT NIVEL              //
   BLOCQ := NI20             //   Este bloco é
   IF BLOCQ = "S"            //   para a função
      USARI  := ""           //   que verifica se
      PASOUU := "N"          //   o módulo está com
      PEDESENHA()            //   acesso restrito e
      IF PASOUU = "N"        //   solicitar usuário
         RETURN NIL          //   e senha e validar usuário
      ENDIF
   ENDIF
//---------------------------------------
   xNOMEC := SPACE(50)
   SELECT Consor
   ORDSETFOCUS("Consor2")
   GO TOP
   DEFINE FONT oFontL12 NAME "LUCIDA CONSOLE" SIZE 0,-(12*1.33)
   DEFINE DIALOG TELDTA RESOURCE "CLDETALHA"  TITLE "...:: LISTAGEM DETALHADA DE CONSORCIADOS ::..."       COLOR RGB (000,000,000),RGB (136,211,227)
   REDEFINE SAY oSAYDET1 PROMPT "Buscar Nome :"                                                    ID 1    COLOR RGB (000,000,000),RGB (136,211,227)
   REDEFINE GET oNOME_Busca VAR xNOMEC  ID 104  OF TELDTA ON CHANGE(CONTEUDODT(oNOME_Busca,nKey,TELDTA,oLbxs2,xNOMEC,oLbxs1)) FONT oFontL12
//--------------------------------------- LISTA DIREITA
   REDEFINE LISTBOX oLbxs2 FIELDS Consor->POSICAO          ,;    // C 80 - PARCELAS
                                  Consor->CONTEMP          ,;    // C 02 - CONTEMPLADO
                                  Consor->NUM_NF           ,;    // C 06 - NOTA FISCAL
                                  Consor->(DTOC(DTASSEM))  ,;    // D 10 - ENTREGA
                                  Consor->RAZAO            ,;    // C 40 - NOME
                                  Consor->ASSEMB           ,;    // C 02 - PARCELA
                                  Consor->(DTOC(DT_ASSEMB)) ;    // D 10 - SORTEIO
                        HEADERS "123456789#123456789#123456789#123456789#123456789#123456789#123456789#123456789#",;
                                 "CO","N FISC","ENTREGA","CONSORCIADO","PC","SORTEIO"  ID 102 FONT oFontL12
   oLbxs2:bChange := {|| ATUALIST1()}
   oLbxs2:nClrBackHead  := CLR_LGREEN  // Cor do Fundo do Cabe‡alho
   oLbxs2:nClrBackFocus := CLR_HRED    // Cor do Cursor Em Cima do Ötem
   oLbxs2:nClrForeFocus := CLR_AMARELO // cor da letra da barra ativa
   oLbxs2:nClrForeHead  := CLR_HRED    // Cor nos Headers - Cabe‡alhos
   oLbxs2:nClrPane      := { || IIF(Consor->(OrdKeyNo()) % 2 == 0, CLR_LGREEN, CLR_LGRAY ) }  // cor do fundo
   oLbxs2:nLineStyle    := 3
   oLbxs2:lCellStyle    := .F.         // .T. So Pinta a celula que o cursor esta
   oLbxs2:lMChange      := .F.         // Desabilita Mousemove
   oLbxs2:SetFocus()                   // Refocus on The Browse
   oLbxs2:Refresh()                    // Estabiliza o Browse/Listbox
//--------------------------------------- LISTA ESQUEDA
   REDEFINE LISTBOX oLbxs1 FIELDS Consor->GRUPO    ,;  // C 005 - GRUPO
                                  Consor->COTA     ,;  // C 003 - COTA
                                  Consor->CONTRATO  ;  // C 006 - CONTRATO
                          HEADERS "GRUPO","COTA","CONTRATO"  ID 101 FONT oFontL12  WHEN .F.
   oLbxs1:nClrBackHead  := CLR_LGREEN  // Cor do Fundo do Cabe‡alho
   oLbxs1:nClrBackFocus := CLR_HRED    // Cor do Cursor Em Cima do Ötem
   oLbxs1:nClrForeFocus := CLR_AMARELO // cor da letra da barra ativa
   oLbxs1:nClrForeHead  := CLR_HRED    // Cor nos Headers - Cabe‡alhos
   oLbxs1:nClrPane      := { || IIF(Consor->(OrdKeyNo()) % 2 == 0, CLR_LGREEN, CLR_LGRAY ) }  // cor do fundo
   oLbxs1:nLineStyle    := 3
   oLbxs1:lCellStyle    := .F.         // .T. So Pinta a celula que o cursor esta
   oLbxs1:lMChange      := .F.         // Desabilita Mousemove
   oLbxs1:SetFocus()                   // Refocus on The Browse
   oLbxs1:Refresh()                    // Estabiliza o Browse/Listbo
//---------------------------------------
   REDEFINE BUTTON ID 103 CANCEL ACTION TELDTA:END()
   ACTIVATE DIALOG TELDTA CENTERED ON INIT xFocus(oLbxs2)
   CLOSE DATABASE
   oFontL12:END()
RETURN .T.
//---------------------------------------
FUNCTION ATUALIST1()
   ll := oLbxs2:nRowPos()
   oLbxs1:nRowPos(ll)
   oLbxs1:SetFocus()
   oLbxs1:Refresh()
   oLbxs2:SetFocus()
Return .T.
//--------------------------------------- BUSCAR CONTEUDO CONTRATO
STATIC FUNCTION CONTEUDODT( oGetBusca, cKey, TELAINC, oLbxINC, XNOMEC,oLbxINC1)
LOCAL RetornaBusca := ""
MEMVAR oNome_Busca
   SELECT Consor
   GO TOP
   ORDSETFOCUS("Consor3")
   MontaChaveBuscaArquivo( oGetBusca, cKey, TELAINC, @RetornaBusca, oLbxINC )
  Consor->(DBSEEK( ALLTRIM( RetornaBusca ) ) )
   IF EOF()
      DBGOTOP()
   ENDIF
   ORDSETFOCUS("Consor2")
   oLbxINC1:Refresh()
   oLbxINC:Refresh()
RETURN .T.
////////////////////////////////////////////////////////////////////////////////
///////// Este bloco de código fica em outro módulo com funções de uso geral
//--------------------------------------- MONTA CHAVE DE BUSCA
FUNCTION MontaChaveBuscaArquivo( oGetBusca, cKey, TELAINC, RetornaBusca )
Local cChaveBusca := ( oGetBusca:oGet:Buffer ), nPosAnt := Recno()
   IF ( cKey != 7 .And. cKey != 8 )
       cChaveBusca := Stuff( cChaveBusca, oGetBusca:nPos,   ;
       If( Set(_SET_INSERT), 0, 1 ), Chr( cKey ) )
   ENDIF
   RetornaBusca :=  Upper ( cChaveBusca)  // cChaveBusca
RETURN( RetornaBusca )
////////////////////////////////////////////////////////////////////////////////
/////////  Na indexação
   USE  DBCONS\Consor
   If Neterr()
     ELSE
      IF lPack = .T.
         PACK
      ENDIF
      INDEX ON GRUPO                                         TAG GRUPOCO  TO DBCONS\INDICE\BASE4CDX
      INDEX ON COTA                                          TAG COTACON  TO DBCONS\INDICE\BASE4CDX
      INDEX ON CONTRATO                                      TAG CONTRCO  TO DBCONS\INDICE\BASE4CDX    // ERA - Consor5
      INDEX ON DTOC(DT_INICIO)                               TAG DTAINCO  TO DBCONS\INDICE\BASE4CDX
      INDEX ON Grupo+Cota+Contrato                           TAG Consor2  TO DBCONS\INDICE\BASE4CDX
      INDEX ON Razao                                         TAG Consor3  TO DBCONS\INDICE\BASE4CDX
      INDEX ON Grupo+Contrato                                TAG Consor4  TO DBCONS\INDICE\BASE4CDX
      INDEX ON Grupo+Cota                                    TAG Consor5  TO DBCONS\INDICE\BASE4CDX
      INDEX ON Cidader                                       TAG Consor6  TO DBCONS\INDICE\BASE4CDX    // ERA - Consor4
      INDEX ON DTVECON                                       TAG Consor7  TO DBCONS\INDICE\BASE4CDX    // DATA DA VENDA
      INDEX ON CODVEND                                       TAG Consor8  TO DBCONS\INDICE\BASE4CDX    // VENDEDOR
   ENDIF
////////////////////////////////////////////////////////////////////////////////
//--------------------------------------- RC
CLDETALHA DIALOG 6, 15, 764, 386
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
CAPTION "DIALOG_5"
FONT 8, "MS Sans Serif"
{
 LTEXT "", -1, 5, 5, 754, 350, WS_BORDER | WS_GROUP
 LISTBOX IDC_LISTBOX21, 10, 10, 120, 350, LBS_STANDARD
 LISTBOX IDC_LISTBOX22, 119, 10, 632, 350, LBS_STANDARD
 PUSHBUTTON "Fechar Janela", IDC_PUSHBUTTON139, 684, 360, 70, 18
 RTEXT "Buscar Nome :", 1, 124, 365, 55, 8
 CONTROL "104", IDC_EDIT214, "EDIT", ES_UPPERCASE | WS_BORDER | WS_TABSTOP, 181, 363, 350, 12
}

As linhas de 18 a 28 é para validação se o módulo é protegido e se o usuário tem permissão para acessa-lo pode desconsiderar.
Quanto a inscrição no canal, só posto algum vídeo quando tenho de mostra algo a alguém e deixo como conteúdo privado.
HbMake v1.17
xHarbour build 0.99.70 Intl. (SimpLex)
Borland C++ 5.5.1
fivewin 6.12 (FREE)
Workshop 4.5
MEdit
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

como congelar coluna na twbrowse ???

Mensagem por JoséQuintas »

Não entendi nada deste post.

O assunto é tbrowse, o fonte usa twbrowse, a a ajuda ao que tudo indica é fivewin.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
Vander
Usuário Nível 3
Usuário Nível 3
Mensagens: 214
Registrado em: 23 Jul 2004 01:43
Localização: João Monlevade - MG

como congelar coluna na twbrowse ???

Mensagem por Vander »

É apenas um exemplo de como eu fiz para congelar as colunas, podendo dentro do possível adaptar, já adaptei vários exemplos que peguei aqui para minha realidade e como disse não sou programador, programo um pouco só por hobby.
HbMake v1.17
xHarbour build 0.99.70 Intl. (SimpLex)
Borland C++ 5.5.1
fivewin 6.12 (FREE)
Workshop 4.5
MEdit
Responder