Existem alguns temas que parecem tao complexos e obscuros que afugentam a grande maioria das pessoas, como se fosse uma selva sombria e umida. Os poucos que desbravam esta densa vegetacao, creio que em busca de uma aventura, acabam como herois por sua coragem, desprendimento, e principalmente por encontrar as riquezas ocultas. Esta era minha a sensacao quando se falava User Control, um tema oculto e destinado apenas aos mais destemidos, que, sendo sincero, nunca tive muita intencao de abracar, mas que ao mesmo tempo agucava demasiadamente a minha curiosidade, e claro admiracao.Acontece que novos caminhos levaram a uma trilha na qual, o que se via a frente era apenas esta densa floresta, e nenhum desvio, a nao ser a unica opcao de ingressar literalmente no meio do mato.Trilhando um novo caminhoCom o advento do Abstract Editor o que pudemos observar foi que o pouco de HTML que poderiamos recorrer quando o calo apertava, simplesmente foi ocultado em um novo nivel de abstracao, que simplesmente deixou de aceitar baixarias, ou melhor, 'baixo nivel'.O mesmo editor tambem causou um bom incomodo, por nos permitir criar as tais maravilhosas interfaces responsivas, porem, com parcos recursos. Ate o momento, sem o Work With for Web nao saimos do lugar.Foram muitos artigos aqui no Genexando nos quais apresentavamos algumas formas de produzir conteudo HTML + CSS na interface, como, por exemplo, textblock.caption, mas mesmo isto, apesar de ser possivel, nao parece mais ser uma solucao elegante e consistente no modelo atual. Nada contra este recurso, ainda o utilizo, mas que tal buscarmos algo novo?O pior e que a solucao para estas questoes ja estava disponivel desde 2007, sob o nome de User Control, a unica coisa que faltava era uma boa documentacao.User ControlNo meu humilde ponto de vista, User Control acaba de ganhar muita importancia neste novo cenario, pois, de repente, nossos recursos foram limitados basicamente aos Common Controls do Toolbox.A razao e simples, nenhum (ou quase nenhum) User Control atualmente publicado no Marketplace esta preparado para o cenario da responsividade. Encontram-se ainda sob a otica das interfaces Web tradicionais, e vao exigir, no minimo uma boa revisao por parte dos nossos herois desbravadores.Os User Controls tambem oferecem uma forma muito mais elegante para resolvermos a questao do uso de recursos para construirmos interfaces convincentes, que sao as excelentes bibliotecas externas em Javascript que diariamente nos entregam novas funcionalidades, e que caberiam muito bem aos nossos projetos.Desta forma, com a motivacao adequada e certo de que poderiamos sair vivos desta selva, buscamos a ferramenta adequada para enfrentarmos o desconhecido. E o resultado desta aventura, tambem se mostrou um enorme desafio.O que e um User Control?Dificilmente voce nao utilizou um User Control, e quase impossivel uma interface GeneXus sem pelo menos um deles. Porem, em termos estruturais, acredito que pouca gente conheca que e um pequeno projeto de um componente de interface, no qual definimos suas configuracoes de instalacao, aparencia no GeneXus e funcionalidade no navegador do usuario. No minimo teremos sempre quatro arquivos para registrar todas estas caracteristicas.Uma vez construido e instalado, teremos o recurso a