Clipper On Line • Ver Tópico - Duvida sobre o controle BROWSE

Duvida sobre o controle BROWSE

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

Duvida sobre o controle BROWSE

Mensagempor Paulo_CPV » 25 Mar 2013 13:19

Boa tarde!

Gostaria de saber se alguém do grupo sabe como usar o parâmetro "IMAGE" do controle BROWSE, pois estou com dificuldade de utilizá-lo, você tem que associar algum campo do banco de dados para ele funcionar adequadamente.

[]'s
Paulo - Jacareí/SP
Paulo_CPV
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 178
Data de registro: 07 Mar 2013 10:27
Cidade/Estado: Jacarei/SP
Curtiu: 0 vez
Mens.Curtidas: 1 vez

Duvida sobre o controle BROWSE

Mensagempor Pablo César » 25 Mar 2013 13:50

Oi Paulo,

Se o IMAGE que você refere-se para o BROWSE é esta:
Screen66.PNG

Um exemplo é este:
/*
* MINIGUI - Harbour Win32 GUI library Demo
*
* Copyright 2002 Roberto Lopez <harbourminigui@gmail.com>
* http://harbourminigui.googlepages.com/
*/

* Value property selects a record by its number (RecNo())
* Value property returns selected record number (recNo())
* Browse control does not change the active work area
* Browse control does not change the record pointer in any area
* (nor change selection when it changes)
* You can programatically refresh it using refresh method.
* Variables called <MemVar>.<WorkAreaName>.<FieldName> are created for
* validation in browse editing window. You can use it in VALID array.
* Using APPEND clause you can add records to table associated with WORKAREA
* clause. The hotkey to add records is Alt+A.
* Append Clause Can't Be Used With Fields Not Belonging To Browse WorkArea
* Using DELETE clause allows to mark selected record for deletion pressing <Del> key
* The leftmost column in a browse control must be left aligned.

* Enjoy !

#include "minigui.ch"

Function Main

   Private bColor := { || if ( recno()/2 == int(recno()/2) , { 255,255,255 } , { 240,240,240 } ) }   

   SET CENTURY ON

   DEFINE WINDOW Form_1 ;
      AT 0,0 ;
      WIDTH 640 HEIGHT 480 ;
      TITLE 'MiniGUI Browse Demo (1000 Records)' ;
      MAIN NOMAXIMIZE ;
      ON INIT OpenTables() ;
      ON RELEASE CloseTables()

      DEFINE MAIN MENU
         POPUP 'File'
            ITEM 'Set Browse Value'   ACTION Form_1.Browse_1.Value := 500
            ITEM 'Get Browse Value'   ACTION MsgInfo ( Str ( Form_1.Browse_1.Value ) )
            ITEM 'Refresh Browse'   ACTION Form_1.Browse_1.Refresh
            SEPARATOR
            ITEM 'Exit'      ACTION Form_1.Release
         END POPUP
         POPUP 'Help'
            ITEM 'About'      ACTION MsgInfo ("MiniGUI Browse Demo")
         END POPUP
      END MENU

      DEFINE STATUSBAR
         STATUSITEM 'Edit Record, Change "TYPE" and Bitmat Will be Updated'
      END STATUSBAR

      @ 10,10 BROWSE Browse_1                           ;
      WIDTH 610                                ;
      HEIGHT 390                               ;
                HEADERS { 'Type','First Name' , 'Last Name', 'Birth Date',  'Biography' } ;
      WIDTHS { 0,150 , 150 , 150 , 150 } ;
      WORKAREA Test ;
      FIELDS { 'Test->Types' , 'Test->First' , 'Test->Last' , 'Test->Birth' ,  'Test->Bio' } ;
      VALUE 1 ;
      DYNAMICBACKCOLOR { bColor , bColor, bColor, bColor, bColor } ;
      FONT "MS Sans Serif" SIZE 8;
      EDIT INPLACE;
      NOLINES ;
      IMAGE {"br0","br1","br2","br3","br4","br5","br6","br7","br8","br9"};
      JUSTIFY { ,, BROWSE_JTFY_CENTER, } // BROWSE_JTFY_LEFT por defecto, no es necesario escribirlo

   END WINDOW

   CENTER WINDOW Form_1

   Form_1.Browse_1.SetFocus

   ACTIVATE WINDOW Form_1

Return Nil

Procedure OpenTables()
/*
   Use test
   zap

   For i:= 1 To 500000
      append blank
      Replace code with i
      Replace First With 'First Name '+ Str(i)
      Replace Last With 'Last Name '+ Str(i)
      Replace Married With .t.
      replace birth with date()+i-10000
   Next i

   Index On Code To Code
   Use

*/
   Use test

Return Nil

Procedure CloseTables()
   Use
Return Nil
Você vai precisar alterar o arquivo de projeto com extensão .RC, para este caso ficaria assim:
   br0            BITMAP         br0.BMP
   br1            BITMAP         br1.BMP
   br2            BITMAP         br2.BMP
   br3            BITMAP         br3.BMP
   br4            BITMAP         br4.BMP
   br5            BITMAP         br5.BMP
   br6            BITMAP         br6.BMP
   br7            BITMAP         br7.BMP
   br8            BITMAP         br8.BMP
   br9            BITMAP         br9.BMP

Agora se a imagem era para ser no cabeçalho, isto é HEADERIMAGES o exemplo é outro.

Mas lembre o browse é considerado obsoleto e se você usa a HMG versão 3.1.1 (versão em UNICODE) não irá funcionar assim de primeira. Tem uma instrução, veja no tópico em: http://hmgforum.com/viewtopic.php?p=23280&f=2#p23280 do fórum oficial.

Aliás seguindo o tópico é esta a solução: http://hmgforum.com/viewtopic.php?p=23336&f=2#p23336
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar de usuário

Pablo César
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 5312
Data de registro: 31 Mai 2006 10:22
Cidade/Estado: Curitiba - Paraná
Curtiu: 142 vezes
Mens.Curtidas: 152 vezes




Retornar para MiniGui

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 8 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro