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