Atenção: por essa edição ser muito antiga não há arquivo PDF para download. Os artigos dessa edição estão disponíveis somente através do formato HTML.
Menus Personalizados com CLX
Use a Qt diretamente para alterar a aparência de elementos
Com o Kylix, a Borland introduziu sua nova biblioteca de componentes, a CLX, baseada na Qt, uma biblioteca de classes desenvolvida em C++ pela companhia norueguesa TrollTech (www.trolltech.com). A Qt é uma biblioteca portável, disponível para diversos ambientes, como Windows, Linux, Solaris, MacOS e até mesmo para PalmOS.
Qt e Portabilidade
Ao contrário da VCL, inteiramente baseada nos controles do Windows, a Qt usa apenas algumas primitivas simples (desenho de linhas, pixels) e desenha inteiramente seus controles. Isso traz a portabilidade – a maior parte da biblioteca é igual para todas as plataformas, bastando apenas mudar pequenas porções de código dependentes da plataforma que se está usando.
Se fosse usado um enfoque semelhante ao da VCL, tudo o que se refere a controles (EditBoxes, ComboBoxes) deveria ser reescrito ao mudar de plataforma. Além disso, a Qt pode ter a aparência que quiser, pois não está ligada ao sistema operacional. Quando você roda uma aplicação que usa a VCL em diferentes versões do Windows, ela toma a forma das demais aplicações daquela versão. Isso não acontece com uma aplicação Qt – você pode ter uma aplicação rodando em Windows com aparência de uma aplicação Linux e vice-versa, ou mesmo ter o aspecto de algo completamente diferente.
Com uma aplicação Qt, você pode ter uma aplicação rodando em Windows com aparência de uma aplicação Linux e vice-versa, ou mesmo ter o aspecto de algo completamente diferente
Vantagens e desvantagens
Ao lado destas vantagens, a Qt tem a desvantagem de não usar tudo o que o sistema operacional oferece de seus controles. Embora sejam semelhantes ao do sistema operacional, terem pequenas diferenças em relação a eles, e não aderirem aos novos padrões que vão aparecendo. Deve-se redesenhar os controles Qt para que eles tenham aparência semelhante aos do Windows XP, por exemplo.
Sem dúvida nenhuma, a grande vantagem da CLX em relação à VCL é a portabilidade – uma aplicação escrita para Linux, no Kylix, pode ser transportada para o Windows, no Delphi 6, bastando apenas recompilá-la. E, se um dia a Borland decidir portar o Delphi para MacOS, Solaris ou PalmOS, as aplicações poderão ser facilmente transportadas para estes ambientes.
A flexibilidade da Qt permite mudar inteiramente a aparência da aplicação em tempo de execução escrevendo apenas uma linha de código
Outra vantagem do uso da Qt na criação da CLX é possibilitar a mudança de aparência da aplicação: podemos desenhar os controles da maneira que queremos. Esta flexibilidade chega ao ponto de podermos mudar inteiramente a aparência da aplicação em tempo de execução escrevendo apenas uma linha de código.
Esta característica da Qt foi exposta pelos projetistas da Borland e permitem personalizar o desenho dos controles, mudando radicalmente sua aparência, ou apenas dando toques pessoais, com o que os engenheiros da Borland chamaram de Styles (estilos).
Eventos de desenho
A mudança de estilos de uma aplicação foi introduzida na classe TApplication. Ela tem uma propriedade chamada Style, da classe TStyle, que permite manipular o desenho dos componentes. A classe TStyle tem diversas propriedades e eventos para controlar o desenho da aplicação. Os eventos são chamados antes e depois que é feito o desenho de um componente.
Por exemplo, o evento BeforeDrawButton é disparado logo antes de um botão ser desenhado. Ao final do desenho, o evento AfterDrawButton é ativado. Criando um manipulador para o evento ...