Código perfeito...
#Include "FiveWin.Ch"
REQUEST OrdKeyNo, OrdKeyCount, OrdCreate, OrdKeyGoto // Para a ListBox(velocidade)
FUNCTION CLIENTES( lAppend, DbClientes, DbCabec, DbPaieMae, DeOndeVem )
IF DeOndeVem != [DELIVERY] .AND. DeOndeVem != [RESERVAS] .AND. ;
DeOndeVem != [LOCACAO]
IF NetUse( "CADETIQ", .T. )
OrdListAdd( "CADETIQ", "RAZ_MATRIC", "DEST_NOME", "END", ;
"NOME_ARTIS", "CPF", "CNPJ", ;
"TELEFONE" )
//OrdDescend( ,,.T. ) // - Crescente
OrdDescend( ,,.F. ) // - Decrescente
DATABASE DbClientes
DbClientes:Gotop()
DbClientes:Load()
DbClientes:SetBuffer( .T. ) // Assim, .T. a Op‡Æo (Cancelar) Funciona.
ELSE
MsgStop( "Banco de Dados dos CLIENTES Bloqueado", "Cuidado!" )
RETURN NIL
ENDIF
ENDIF
DbSelectArea( ( DbClientes:cAlias ) )
DbClientes:SetOrder( 2 )
DbGoTop()
DEFINE BRUSH oBrush RESOURCE "LOGO2" //-> PEGA A BITMAP DO ARQUIVO.RES(LOGO.BMP)
DEFINE CURSOR oHand RESOURCE "Dedo"
DEFINE FONT oFnt NAME "Ms Sans Serif" SIZE 0, 14 BOLD //UnderLine
DEFINE FONT oFont NAME "Ms Sans Serif" SIZE 0, -14 BOLD //UnderLine
DEFINE FONT oFont2 NAME "Ms Sans Serif" SIZE 0, 13 BOLD
DEFINE ICON OICO FILE ".\BRASIL__.BMP"
DEFINE DIALOG oDlg RESOURCE "BROWSE" ;
TITLE "Gerenciador de Clientes:-Browse" ;
BRUSH oBrush TRANSPARENT ;
ICON oIco
oDlg:lHelpIcon := .F.
For IDCor = 401 To 403 // Os ID's dos TEXTOS na DIALOG.
REDEFINE SENSITIVE SAY ID IDCor OF oDlg ;
COLOR CLR_BLACK UPDATE RAISED CENTER FONT oFont2 TRANSPARENT
Next IDCor
//-> ListBox
REDEFINE LISTBOX oLbx FIELDS ;
(DbClientes:cAlias)->RAZ_MATRIC , ;
(DbClientes:cAlias)->DEST_NOME , ;
(DbClientes:cAlias)->END , ;
(DbClientes:cAlias)->BAI , ;
(DbClientes:cAlias)->CID , ;
(DbClientes:cAlias)->CEP , ;
(DbClientes:cAlias)->TEL , ;
(DbClientes:cAlias)->TEL2 , ;
(DbClientes:cAlias)->TEL3 ;
HEADERS ( OemToAnsi( "C¢digo/Cnpj/Cpf" ) ) , ;
( OemToAnsi( "Nome/RazÆo Social=> " + ;
"<Click> Mouse Direito<Menu>" ) ) , ;
( OemToAnsi( "Endere‡o" ) ) , ;
( OemToAnsi( "Bairro" ) ) , ;
( OemToAnsi( "Cidade" ) ) , ;
( OemToAnsi( "Cep" ) ) , ;
( OemToAnsi( "Telefone" ) ) , ;
( OemToAnsi( "Telefone" ) ) , ;
( OemToAnsi( "Telefone" ) ) ;
FIELDSIZES 130, 480, 480, 200, 200, 100, 150, 150, 150 ;
COLOR CLR_BROWN, CLR_LGREEN ;
FONT oFont ;
CURSOR oHand ;
UPDATE ;
ID 101 ;
OF oDlg ;
ON DBLCLICK( Click() , ;
GETCLIENTES( .F., DbClientes, DbCabec, ;
DbPaieMae, DeOndeVem ), ;
oLbx:SetFocus(), oLbx:Refresh(), oLbx:DrawSelect() )
//-----------------------------------------------------------------------//
oLbx:nClrBackHead := CLR_LGREEN // Cor do Fundo do Cabe‡alho
oLbx:nClrText := {|| nRGB( 165, 42, 42 ) } // Cor do Fundo do Cabe‡alho
oLbx:nClrBackFocus := CLR_HRED // Cor do Cursor Em Cima do Ötem
oLbx:nClrForeFocus := CLR_AMARELO // Cor da letra da barra ativa
oLbx:nClrForeHead := CLR_HRED // Cor nos Headers - Cabe‡alhos
// Cor no Pano de Fundo da Browse() Listbox-Legal - abaixo o comando
oLbx:nClrPane := { || IIF( ( oLbx:cAlias )->( OrdKeyNo() ) %2 == 0, ;
CLR_LGREEN, CLR_LGRAY ) }
oLbx:nColAct := 2 // Onde o Cursor Vai Iniciar na coluna
oLbx:nLineStyle := 3 // Estilo das linhas nos dados da Browse
oLbx:lCellStyle := .T. // Somente pinta a c‚lula em que o cursor esta no momento
// Justifica o Cabe‡alho: .F. = Esquerda .T. = Centro
oLbx:aJustify := { .T., .F., .F., .F., .F., .F., .F., .F., .F., .F., .F., .F., .F., .F., .F., .F., .F. }
oLbx:lMChange := .F. // Desabilita Mousemove - Movimentos do Mouse Congelam.
// Barra vertical exacta...
//oLbx:bLogicLen := { || ( DbClientes:cAlias )->( OrdCount() ) }
oLbx:SetFocus() // Refocus on The Browse - Ativa o Foco na ListBox(Browse)
oLbx:Refresh() // Estabiliza o Browse/Listbox - Refresca os Dados.
// Pinta os Dados Novamente
//-----------------------------------------------------------------------//
Se necessitar, eu posto um .RC do dialogo com ListBox.
Abs