Mudança de máscara durante digitação

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Softwhouse
Usuário Nível 3
Usuário Nível 3
Mensagens: 324
Registrado em: 07 Dez 2011 18:44
Localização: Porto Alegre/RS

Mudança de máscara durante digitação

Mensagem por Softwhouse »

No Cadastro de clientes tenho um ComboBox com os tipos física e jurídica com a intenção de determinar a máscara de digitação CPF ou CNPJ.

No Picture do GetBox coloquei assim:

Picture IIf(form_dados.cbox_tipo.value=1, '@R 999.999.999-99', '@R 99.999.999/999-99')

Isso não funciona, alguém saberia qual a forma correta de fazer ? Grato.
Fernando
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Mudança de máscara durante digitação

Mensagem por Toledo »

Fernando, segue um pequeno exemplo:

Código: Selecionar todos

#include "minigui.ch"

*----------------------
function main
*----------------------

define window form_1 ;
	at 0,0 width 300 height 250 ;
	title "Getbox Picture Demo" ;
	main

	@ 50,40 COMBOBOX Combo_1 ;
			WIDTH 100 ;
			ITEMS { 'Fisica' , 'Juridica' } ;
			VALUE 1 ;
			ON CHANGE {|| MudaPic(this.value)}

	@  100,40 getbox getbox_1 Value Spac(11) Picture "@R 999.999.999-99"


end window

form_1.center
form_1.activate

return Nil

Func MudaPic(nCmb)
SetProperty( "form_1", "getbox_1", "Picture", IF(nCmb=1,"@R 999.999.999-99","@R 99.999.999/9999-99") )
DoMethod("form_1","getbox_1","SetFocus")
Return Nil
Abraços,
Softwhouse
Usuário Nível 3
Usuário Nível 3
Mensagens: 324
Registrado em: 07 Dez 2011 18:44
Localização: Porto Alegre/RS

Mudança de máscara durante digitação

Mensagem por Softwhouse »

Perfeito Toledo, muito obrigado pela sua disposição.

Abraços
Fernando
Avatar do usuário
Mario Mesquita
Usuário Nível 4
Usuário Nível 4
Mensagens: 613
Registrado em: 08 Dez 2009 13:47
Localização: Rio de Janeiro

Mudança de máscara durante digitação

Mensagem por Mario Mesquita »

Bom dia a todos.

Eu também não sabia como fazer, então uso dois Textbox, rs...

Com a dica do Toledo, fica mais elegante.

Valeu!
Responder