DBedit

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

braz
Usuário Nível 2
Usuário Nível 2
Mensagens: 53
Registrado em: 08 Jan 2011 17:39
Localização: piracicaba

DBedit

Mensagem por braz »

Bom dia pessoal,

Tem como fixar um campo no DBedit para nao desaparecer da tela ?

Por exemplo, quando rolo a tela para a direita --> o primeiro campo nao muda, fica fixo.

Abraços a todos.
Avatar do usuário
ANDRIL
Usuário Nível 5
Usuário Nível 5
Mensagens: 1297
Registrado em: 06 Jul 2004 00:44
Contato:

DBedit

Mensagem por ANDRIL »

Só vi isso nativamente no TBrowse() congelamento de coluna. Se for a 1a coluna até dá, fazendo umas "gambiarras" no DbEdit(), mais dá muito trabalho.

Ate+
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
braz
Usuário Nível 2
Usuário Nível 2
Mensagens: 53
Registrado em: 08 Jan 2011 17:39
Localização: piracicaba

DBedit

Mensagem por braz »

Ola Andril, se for no Tbrowse() como seria?

TEm algum exemplo para me passar ?

abraçao
Avatar do usuário
ANDRIL
Usuário Nível 5
Usuário Nível 5
Mensagens: 1297
Registrado em: 06 Jul 2004 00:44
Contato:

DBedit

Mensagem por ANDRIL »

Veja este post, ele tem o que voce deseja.
https://pctoledo.org/forum/viewto ... ela#p92640
Ate+
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

DBedit

Mensagem por alxsts »

Olá!

Segue um exemplo mais abrangente de uso da variável de instância freeze

Código: Selecionar todos

// The example builds a simple TBrowse object for a database

   #include "inkey.ch"

   PROCEDURE Main
      LOCAL oTBrowse, aFields, cField, nKey, nLen, nInd

      USE Customer

      aFields := Array( FCount() )
      AEval( aFields, {|x,i| aFields[i] := FieldName(i) } )

      nLen := Len( aFields )

      oTBrowse := TBrowseDB()

      FOR nInd := 1 TO nLen
         oTBrowse:addColumn( TBColumnNew( aFields[ nInd ], FieldBlock( aFields[ nInd ] ) ) )
      NEXT

      //oTBrowse:freeze := 2 // Congela as 2 colunas mais à esquerda na tela
      oTBrowse:freeze := 1  // Congela a coluna mais à esquerda na tela

      DO WHILE .T.
         oTBrowse:forceStable()
         nKey := Inkey(0)

         IF ! ApplyKey( oTBrowse, nKey ) 
            EXIT
         ENDIF
      ENDDO

      CLOSE Customer
   RETURN

//----------------------------------------------------
STATIC FUNCTION ApplyKey( oTb, nKey )

   LOCAL lKeyHandled := .T.

   DO CASE
      CASE nKey == K_ESC
         lRet := .F. 
      CASE nKey == K_UP
         oTb:up()
      CASE nKey == K_DOWN
         oTb:down()
      // acrescentar o tratamento das demais teclas
   END CASE
                         
RETURN lKeyHandled
//----------------------------------------------------
[]´s
Alexandre Santos (AlxSts)
braz
Usuário Nível 2
Usuário Nível 2
Mensagens: 53
Registrado em: 08 Jan 2011 17:39
Localização: piracicaba

DBedit

Mensagem por braz »

oI alxsts,

Excelente meu amigo, funcionou muito bem,

Muito obrigado

abraços
Responder