System.Drawing - O Canvas do Windows Mobile


Neste artigo vamos aprender algumas funcionalidades de System.Drawing, sendo que vamos ver mais a parte de como programar utilizando as classes desse namespace, que podemos utilizar para fazer gráficos, escrever textos, imagens e muitas outras funcionalidades.

Para os desenvolvedores Java (J2ME), o System.Drawing é o Canvas para o Windows Mobile.

 

Vamos criar um texto simples, colocar uma imagem de topo e rodapé e criar uma funcionalidade de finalizar a aplicação sem utilizar os famosos componentes do Visual Studio e ficando uma simples aplicação com um visual bem interessante.

 

Abra o Visual Studio 2008 e crie um novo projeto com o nome: SystemDrawing.

Obs.: Não irei mais explicar como criar novos projetos, acesse os primeiro tutoriais caso tenham dúvidas.

 

Primeiramente nomeie o Form1 para Principal e na classe Program.cs modifique a linha

 

Application.Run(new Form1());

para

Application.Run(new Principal());

 

Agora em Solution Explorer, clique com o botão direito em Principal e selecione View Code.

Crie 4 variáveis:

 

private string strTexto = “Artigo sobre System.Drawing…\n\nTextos, Imagens, Cor, Evento KeyDown.”;

private string strSair = “Sair”;

private Bitmap bmpTopo;

private Bitmap bmpRodape;

 

No construtor da classe adicione o seguinte código:

 

public Principal()

{

    InitializeComponent();

 

    bmpTopo = new Bitmap(@”Program Files\SystemDrawing\devMobile.jpg”);

    bmpRodape = new Bitmap(@”Program Files\SystemDrawing\button.jpg”);

}

 

Agora vamos criar o método OnPaint(). Esse método é o responsável por desenhar toda a tela. Nele vamos utilizar a classe PaintEventArgs, que contém todos as funcionalidades para criar textos, imagens, gráficos e muito mais. Nesse tutorial vamos utilizar apenas:

 

FillRectangle – Usado para preencher um determinado espaço na tela com uma cor.

DrawImage – Usada para mostrar uma imagem na tela.

DrawString – Usada para mostrar os textos na tela.

SolidBrushUsada mostrar a cor.

ColorUsada para informar a cor do texto ou fundo da tela.

RectangleUsada criar um espaço na tela. Por exemplo, um quadrado de tamanho 40×40.

FontUsada para mostrar qual fonte no texto. Exemplo: Verdana

FontStyleUsada para deixar a fonte em negrito, itálico, etc.

 

Aprendemos um pouco das funcionalidades e classes do System.Drawing, logo o nosso método OnPaint() ficará da seguinte forma:

 

protected override void OnPaint(PaintEventArgs e)

{

     e.Graphics.FillRectangle(new SolidBrush(Color.FromArgb(0×006aa9d3)), new Rectangle(0, 0, 240, 320));

     e.Graphics.DrawImage(bmpTopo, 0, 0);

     e.Graphics.DrawImage(bmpRodape, 0, 300);

     e.Graphics.DrawString(strTexto, new System.Drawing.Font(“Verdana”, 8, FontStyle.Bold), new SolidBrush(Color.WhiteSmoke), 10, 130);

     e.Graphics.DrawString(strSair, new System.Drawing.Font(“Trebuchet MS”, 8, FontStyle.Bold), new SolidBrush(Color.FromArgb(0×00FFFFFF)), 28, 303);

}

 

Agora vá aos eventos do formulário Principal e crie o evento KeyDown. Esse evento é utilizado para receber os comandos das teclas do device. Por exemplo, Up, Down, Left, Right e etc.

 

Coloque o seguinte código para esse evento:

 

private void Principal_KeyDown(object sender, KeyEventArgs e)

{

    if ((e.KeyCode == System.Windows.Forms.Keys.F1))

    {

         Application.Exit();

    }

}

 

System.Windows.Forms.Keys.F1 - Utilizado para receber o clique do botão direito do device.

Application.Exit(); - Encerra a Aplicação.

Clique aqui e obtenha o fonte dessa aplicação (coloque as imagens no diretório da aplicação no device ou no emulador para que a mesma funcione), o próximo tutorial vou ensinar como criar um arquivo .CAB para instalar a sua aplicação no device.

tela.JPG

Esse é mais um simples tutorial do mundo Windows Mobile, espero que gostem.

Abraços e até a próxima…



Sobre o Autor

Este artigo foi escrito por Thiago César.
Thiago é desenvolvedor de aplicações Windows Mobile, J2ME, Web (ASP, ASP.NET). Para conversar com o autor use o e-mail, msn e gtalk tceufrasio@gmail.com.



Receba artigos em seu e-mail

Receba os novos artigos do blog em seu e-mail. E-Mail:



Deixe um comentário

blogarama.com Globe of Blogs EatonWeb Blog Directory