Clipper On Line • Ver Tópico - Componente TREE da MiniGui

Componente TREE da MiniGui

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

Componente TREE da MiniGui

Mensagempor JAIR RANGEL » 29 Ago 2005 12:23

Olá, Senhores !

Estou tentando utilizar o Componente TREE da MiniGui para receber configurações de Niveis de Acesso, no módulo Configurador do meu Sistema.
O Operador poderá clicar nas opções/ítens da árvore e então habilitar ou desabilitar um acesso a opção específica.

Porém, não consigo ativar o evento ON CHANGE ao clicar no ítem da árvore.

Se alguém ja usou este componente com sucesso, gostaria de obter informações para utiliza-lo.

Uma outra forma de realizar o que estou querendo, seria utilizar o componente CHECKBOX. Porém, como são muitas opções para habilitar/desabilitar, não creio que este componente irá criar o efeito de rolagem dentro de uma tela tal qual o LISTBOX ou TEXTBOX.

Jair Rangel
HARBOUR + MINIGUI 1.07
:D
MINIGUI + HARBOUR + BRMAKE + CDX
CLIPPER 5.2E + VISUALLIB 2 + BLINKER
Avatar de usuário

JAIR RANGEL
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 177
Data de registro: 19 Jul 2005 16:01
Cidade/Estado: RIO DE JANEIRO
Curtiu: 1 vez
Mens.Curtidas: 2 vezes

Re: Componente TREE da MiniGui

Mensagempor Antonio » 08 Dez 2005 21:23

JAIR RANGEL escreveu:Olá, Senhores !

Estou tentando utilizar o Componente TREE da MiniGui para receber configurações de Niveis de Acesso, no módulo Configurador do meu Sistema.
O Operador poderá clicar nas opções/ítens da árvore e então habilitar ou desabilitar um acesso a opção específica.

Porém, não consigo ativar o evento ON CHANGE ao clicar no ítem da árvore.

Se alguém ja usou este componente com sucesso, gostaria de obter informações para utiliza-lo.

Uma outra forma de realizar o que estou querendo, seria utilizar o componente CHECKBOX. Porém, como são muitas opções para habilitar/desabilitar, não creio que este componente irá criar o efeito de rolagem dentro de uma tela tal qual o LISTBOX ou TEXTBOX.

Jair Rangel
HARBOUR + MINIGUI 1.07
:D



Tente o ON DOUBLECLICK

/*
*$Id
*
* Copyright 2005 Antonio Carlos da Silva <tonyenoe@terra.com.br>
*
* Exemplo do uso do objeto TREE
* Data de inicio:  08/12/2005
* Hora de inicio:  22:00:00
* Hora de termino: 22:27:00
  *
*$Id
*
*/

#include "minigui.ch"

function main()

         local w := getdesktopwidth() , h := getdesktopheight() - 28

         request hb_lang_pt
         hb_langselect("PT")
    request dbfcdx, dbffpt
    rddsetdefault('dbfcdx')

    set date french
    set century on
    set epoch to 1950
    set browsesync on
    set deleted on
    set multiple off warning
    set navigation extended
         set font to 'arial', -11
           
         define window frm_principal             ;
      at     0,0                       ;
      width  640                       ;
      height 480                       ;
      title "Controle de Clientes"     ;
      main                             ;
      icon nil                         ;
      on init {||InicializaAmbiente()} ;
                on release Sair()

//       MENU PRINCIPAL DO SISTEMA

    define main menu

//              Menu Popup/Suspenso -> ARQUIVOS

                popup '&Arquivos'
                      item '&Ativar empresa    ' action NIL //{ ||ativaempresas()}

                      separator
                      item '&Clientes          ' action NIL //{ ||clientes()     }
            item '&Serviços          ' action NIL //{ ||servicos()     }
                      item '&Protocolos        ' action NIL //{ ||protocolos()   }
                      item '&Orçamentos        ' action NIL //{ ||orcamentos()   }

            separator
                      item '&1   ' action msginfo('Em Desenvolvimento')
            item '&2   ' action msginfo('Em Desenvolvimento')
            item '&3   ' action msginfo('Em Desenvolvimento')
            item '&4   ' action msginfo('Em Desenvolvimento')

                      separator
            item '&5   ' action msginfo('Em Desenvolvimento')

                      separator
                      item '&6   ' action msginfo('Em Desenvolvimento')
            item '&7   ' action msginfo('Em Desenvolvimento')

                      separator
            item '&Sair              ' action SairPrograma()

                end popup
//              Fim do menu de Arquivos

//              Menu Popup/Suspenso -> MOVIMENTOS

                popup '&Movimentos'
            item '&Conta Corrente    ' action msginfo('Em Desenvolvimento')

                end popup
//              Fim do menu de Movimentos

//              Menu Popup/Suspenso -> RELATORIOS

                popup '&Relatórios'

                      item '&Clientes          ' action msginfo('Em Desenvolvimento')
            item '&Serviços          ' action msginfo('Em Desenvolvimento')
                      item '&Protocolos        ' action msginfo('Em Desenvolvimento')
                end popup
//              Fim do menu de Relatorios

//              Menu Popup/Suspenso -> FERRAMENTAS

                popup '&Ferramentas'

                      item '&Backup            ' action msginfo('Em Desenvolvimento')
            item '&Restore           ' action msginfo('Em Desenvolvimento')

                end popup
//              Fim do menu de Ferramentas

//              Menu Popup/Suspenso -> AJUDA

                popup '&Ajuda'

            item '&Sobre...             ' action msginfo('Em Desenvolvimento')
            separator
                      item 'Versão da &Minigui    ' action msginfo(miniguiversion())
            item '&Versão do Compilador ' action msginfo(version())
            item 'Ve&rsão do Windows    ' action mysys()
            item 'Informações do Shell  ' action shel()

                end popup
//              Fim do menu de Ajuda

    end menu
//       fim do menu principal

         define tree treeserv;
             at        62,8;
             width   w -700;
             height  h -135;
             nodeimages nil itemimages nil norootbutton itemids;
             on dblclick {||func()}

             node 'Dados Cadastrais'

                  treeitem '   Ficha 1 - Indentificação         ' id 1
             treeitem '   Ficha 2 - Dados gerais           ' id 2
             treeitem '   Ficha 3 - Dados fiscais          ' id 3
             treeitem '   Ficha 4 - Responsavel            ' id 4

             end node

             node 'Fichas de Movimento'

                  treeitem '  Ficha 5 - Protocolos              ' id 5
             treeitem '  Ficha 6 - Conta Corrente          ' id 6
             treeitem '  Ficha 7 - Solicitação de Serviços ' id 7

             end node

         end tree

         @ 040 ,   2 frame frame1 of frm_principal width w -687 height h -105 caption "Fichas do cliente"
         @ 075 , 115 frame frame2 of frm_principal width w -120 height h -140

         ** ficha dados gerais
         ** ficha dados fiscais
         ** ficha responsavel
         ** ficha protocolos
         ** ficha conta corrente
         ** ficha solicitação de serviços

         define toolbar tbr_principal flat buttonsize 25,25 righttext border

                button btn_novo                         ;
                       caption 'Novo Cliente'           ;
                       picture Nil                      ;
                       action msginfo(version())
                button btn_cadastro                     ;
                       caption 'Automóveis'             ;
                       picture  Nil                     ;
                       action msginfo(version())
                button btn_tabela                       ;
                       caption 'Clientes'               ;
                       picture  Nil                     ;
                       action msginfo(miniguiversion()) ;
                       separator
                button btn_sair                         ;
                       caption 'Sair do programa'       ;
                       picture  Nil                     ;
                       action frm_principal.release
         end toolbar

    define statusbar
      statusitem 'Empresa ativa  '            action msginfo('click! 1')
      statusitem 'Usuario'          width 100 action msginfo('click! 2')
      statusitem 'Empresa usuaria'  width 130 icon Nil
      clock
      date
    end statusbar

    end window
         frm_principal.maximize()
    frm_principal.activate()

return( nil )
*--------------------------------------------------------------------------------
function InicializaAmbiente()

         return( nil )
*--------------------------------------------------------------------------------

function SairPrograma()
         local i := MsgOkCancel ("Deseja realmente encerrar o Aplicativo ?" , "Encerramento do Programa" ,.f. )

         if i
            close all
            frm_principal.release()
         endif

         return( nil )
*--------------------------------------------------------------------------------
function  Sair()
          close all
return nil
*--------------------------------------------------------------------------------
function mysys()
         
         local i :=  windowsversion()

         msginfo(       "Sistema:    "  +  i[1]  +  hb_osnewline();
                   +    "Versão :    "  +  i[2]  +  hb_osnewline();
                   +    "Compilação: "  +  i[3]                     )

         return( nil )
*--------------------------------------------------------------------------------
function shel()
         ShellAbout ( '  Sistema de Teste do Objeto TREE', '  Objeto TREE' )
         return( nil )

*--------------------------------------------------------------------------------
function func()

        private nPos := Str ( frm_principal.treeserv.Value )

        if        val(nPos) = 1
                  func1()
        elseif    val(nPos) = 2
                  func2()
        elseif    val(nPos) = 3
                  func3()
        elseif    val(nPos) = 4
                  func4()
        elseif    val(nPos) = 5
                  func5()
        elseif    val(nPos) = 6
                  func6()
        elseif    val(nPos) = 7
                  func7()
        elseif    val(nPos) = 8
                  func8()
        endif

return nil
*--------------------------------------------------------------------------------
function func1()
         msgbox('função 1')
return nil
*--------------------------------------------------------------------------------
function func2()
         msgbox('função 2')
return nil
*--------------------------------------------------------------------------------
function func3()
         msgbox('função 3')
return nil
*--------------------------------------------------------------------------------
function func4()
         msgbox('função 4')
return nil
*--------------------------------------------------------------------------------
function func5()
         msgbox('função 5')
return nil
*--------------------------------------------------------------------------------
function func6()
         msgbox('função 6')
return nil
*--------------------------------------------------------------------------------
function func7()
         msgbox('função 7')
return nil
*--------------------------------------------------------------------------------
function func8()
         msgbox('função 8')
return nil
*--------------------------------------------------------------------------------
** End Of File

Antonio Carlos
Harbour 3.2 (20180213)
Hwgui 2.20 3b | PostGresql 9.5 | ADO/ODBC
Avatar de usuário

Antonio
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 344
Data de registro: 14 Ago 2003 17:33
Cidade/Estado: Sao Paulo - SP
Curtiu: 2 vezes
Mens.Curtidas: 11 vezes

Mensagempor JAIR RANGEL » 09 Dez 2005 11:15

Prezado Antonio !

Obrigado por responder.

Resolvi o problema com o CHECKBOX.
Aprendi como gerar o efeito de tela deslizante. Com isto, exibi todas as
opções.

Obrigado e bom fim de semana !

Migrando para HARBOUR + MINIGUI 108 + BRMAKE :xau
MINIGUI + HARBOUR + BRMAKE + CDX
CLIPPER 5.2E + VISUALLIB 2 + BLINKER
Avatar de usuário

JAIR RANGEL
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 177
Data de registro: 19 Jul 2005 16:01
Cidade/Estado: RIO DE JANEIRO
Curtiu: 1 vez
Mens.Curtidas: 2 vezes




Retornar para MiniGui

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 5 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