//Z_example of cor selection dialogo
inclua'igbr' //importa as funcoes graficas do ig pt-br
funcao selec_cor ( comp , janela ) // esta funcao será chamada com o clique do botao.
dialogo = ig.dialogo_cor('Selecione uma cor:'); //cria um dialogo de selecao de cor com o titulo 'Selecione uma cor:'
ret = ig.dialogo_execute(dialogo); //executa o dialogo e devolve o retorno para 'ret'
//botao ok = -5 ou ig.ret_ok
se ret == ig.ret_ok entao
corselecionada = ig.cor_selecao(dialogo); //obtém a cor selecionada
R , G , B , P = ig.cor_selecao_obt_cor_atual( corselecionada );
//funcao acima transforma a cor em r g b e p (profundidade).
//outra forma de extrair a cor selecionada para uma tabela:
Cor = ig.cor_selecao_obt_cor_atual( corselecionada , '*t');
//o '*t' força o retorno de uma tabela cor.red cor.green cor.blue, cor.pixel
imprima("//->" , Cor.red , Cor.green , Cor.blue , Cor.pixel );
imprima("//rgb->" , R , G , B , P );
ig.componente_modifique_bg( janela , ig.estado_normal , Cor );
fim
ig.componente_destrua(dialogo);
fim
//criando a janela principal
janela = ig.janela('Dialogo de seleção de cor', 280 , 200); // criando a janela (titulo_string, largura_numero , altura_numero )
ig.janela_def_posicao ( janela , ig.janela_pos_centro );
local cor = ig.cor_analise(ig.branco);
ig.componente_modifique_corfundo( janela , ig.estado_normal , cor );
caixavertical = ig.caixa( 'vertical' ,falso,0); //criando a caixavertical
ig.ad( janela , caixavertical); //colocando a caixa na janela
barraferramenta = ig.barraferramenta(); //criando uma barra de ferramentas
ig.barraferramenta_def_estilo( barraferramenta , ig.bf_icones ); //definindo estilo da barra tipo icones.
ig.conteiner_def_borda_largura( barraferramenta , 2); //definindo a borda interna da barra de ferramenta
cor_bt = ig.ferramenta_botao_estoque( ig.estoque_selecionar_cor ) ; //criando um botao de barra de ferramenta pelo estoque
ig.barraferramenta_ad( barraferramenta , cor_bt , -1); //colocando o botao na barra de ferramenta
ig.caixa_ad( caixavertical , barraferramenta , falso , falso , 5); //adicionando a barra de ferramenta na caixa
ig.conecte_funcao( cor_bt , ig.clique , selec_cor , janela ); // conectando a funcao selec_cor ao clique do botao
//e passando janela para callback
ig.janela_destrua(janela); //fecha o programa corretamente ao fechar a janela.
ig.componente_mostre_todos(janela); //mostra a janela e seus componentes filhos.
ig.fimprograma(); //última linha de um programa ig, esta funcao inicia o loop de eventos.