Académique Documents
Professionnel Documents
Culture Documents
Profa. Dra. Agma Juci Machado Traina Fabio Jun Takada Chino Jos Fernando Rodrigues Jnior
C++ Windows/Linux (a partir da verso 6) A construo das interfaces feita com a filosofia WYSIWYG.
Paleta de componentes
Object Inspector
Form Editor
Abstrao mais prxima do mundo real. Encapsulamento; Polimorfismo; Especializao, generalizao e herana; Classes e objetos.
Principais conceitos
C++ e OOP
Classes
Property.
Forma alternativa de acesso a campos. Uma variante do escopo pblico utilizado pela IDE.
Escopo published.
Classes so semelhantes estruturas porm possuem mtodos associados. Criando e destrundo instncias de classes:
myObject.myFunction(); myObject->myFunction();
Classes:
Declarao:
class <cname>{ public: <type> <mname>(<pars>); private: <type> <fname>; } <type> <cname>::<mname>(<pars>){ ... }
Classes:
Declarao:
class myClass{ public: void myMethod(int myPar); private: int myField; } void myClass::myMethod(int myPar){ ... }
O C++ permite campos em qualquer um dos escopos porm no se deve coloc-los no escopo pblico;
Se um campo precisa ser acessado diretamente, deve haver um mtodo na interface da classe.
Propriedades do C++ Builder parecem campos comuns mas na realidade ocultam chamadas de mtodos.
Operadores new/delete
Podem ser utilizados mas no devem ser misturados com o new/delete; struct s * i = new struct s; delete i; int * darray = new int[len]; int sarray[10]; delete [] darray;
Arrays
Declaraes de parmetros de funo por referncia podem ser declarados e usados de forma transparente:
func(&s); func(s);
Componentes
Classes com comportamento variado mas com interfaces bem definida. Componentes podem ser combinados para construir uma aplicao rpida e com poucas linhas de cdigo.
A VCL a biblioteca de classes do C++ Builder que implementa todos os componentes visuais e no-visuais.
Componentes:
Eventos:
Funes opcionais:
Iniciar um novo projeto; Colocar um boto na janela; Selecionar o boto; Usando o Object Inspector:
Atrbuir um nome; Mudar o texto (Caption); MessageBox(Handle, Hello world!, Hello world!, 0);
Executar o programa.
A maioria dos componentes grficos do C++ Builder possuem uma propriedade chamada Canvas.
Uma instncia de um TCanvas que abstrai a API grfica do Windows para aquele componente.
O TCanvas permite desenhar na rea visvel do componente usando primitivas de desenho como pontos, retas, crculos, etc.
Primitivas Grficas
Cores:
Inteiro de 32-bits. 8-bits para cada atributo: AABBGGRR ToTColor(r,g,b) = r | (g << 8) | (b << 16)
Primitivas:
Pontos
Primitivas
Carregando Imagens
O TCanvas pode desenhar qualquer instncia da classe TGraphic (representa uma imagem)
Draw()
Para facilitar, o C++ Builder prov o componente TPicture que pode manipular estes dados automaticamente.
Carregando Imagens
Carregar/salvar imagens
O TPicture o componente mais fcil para trabalhar com os recursos grficos bsicos.
Componentes
TPicture Pensem na interface como uma mquina de estados; Explore os eventos de mouse para melhorar a interface:
Dicas