Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: wxWidgets ::: Dicas & Truques ::: wxApp

Como usar a classe wxApp em suas aplicações C++ wxWidgets

Quantidade de visualizações: 1540 vezes
A classe wxApp (Application Class) é uma das primeiras classes que devemos estudar se quisermos ter um domínio perfeito do framework wxWidgets. Para usá-la, devemos incluir #include <wx/app.h> em nossos códigos. Essa classe herda de wxAppConsole.

Todas as aplicações wxWidgets definem uma classe application derivada de wxApp. Há somente uma instância dela, e essa instância representa a aplicação sendo executada no momento.

De todos os métodos herdados de wxApp, há pelo menos um que devemos implementar, e ele é a função OnInit(), que é chamada quando o wxWidgets está pronto para executar o nosso código. OnInit() equivale ao main() em C/C++ ou WinMain (aplicações Win32).

Veja um trecho de código no qual declaramos e usamos a classe wxApp:

Código para aplicacao.h:

#include <wx/wx.h>

// arquivo de definição

// declaramos a classe application
class MinhaAplicacao : public wxApp{
public:
......


Código para aplicacao.cpp:

#include "aplicacao.h"

// arquivo de implementação

// aqui o wxWidgets implementa nosso objeto MinhaAplicacao
IMPLEMENT_APP(MinhaAplicacao)

bool MinhaAplicacao::OnInit(){
  // vamos mostrar uma mensagem ao iniciar a aplicação
  wxMessageDialog *alerta = new wxMessageDialog(NULL,
......


Veja que no arquivo de declaração (header file) nós temos a macro DECLARE_APP. Ela nos permite declarar a função wxGetApp() que retorna uma referência para o objeto aplicação. Se não fizermos isso, a única forma de obter tal referência é usando o ponteiro global wxTheApp, que é do tipo wxApp*.

A macro IMPLEMENT_APP, no arquivo de implementação, permite ao wxWidgets criar dinamicamente uma instância do objeto application no ponto apropriado da inicialização da biblioteca.

Esse trecho de código é totalmente funcional, mas teremos apenas a exibição de uma mensagem wxMessageDialog. Por essa razão eu retornei false no laço de eventos. Se tivéssemos criado uma janela wxFrame, o retorno deveria ser true, já que teríamos de lidar com eventos.

Para finalizarmos, lembre-se de que o método OnInit() da classe wxApp é o local ideal para se fazer as verificações iniciais da aplicação, tais como conexão com banco de dados, permissão do usuário, disponibilidade da rede, etc.

Link para compartilhar na Internet ou com seus amigos:

HTML5 ::: HTML5 + JavaScript ::: Canvas

Programação gráfica para iniciantes - Como desenhar círculos com ou sem preenchimento usando o método arc() do objeto Canvas do HTML5

Quantidade de visualizações: 5713 vezes
Podemos usar o método arc() do objeto Canvas do HTML5 para desenhar círculos com ou sem prenchimento. Veja nos exemplos abaixo como isso pode ser feito. Primeiro um círculo sem preenchimento:

<!doctype html>
<html>
<head>
  <title>O objeto Canvas do HTML5</title>
</head>
 
<body>
 
<Canvas id="canvas1" width="500" height="350"></Canvas>
 
<script type="text/javascript">
  // obtemos uma referência ao elemento Canvas  
  var canvas = document.getElementById("canvas1");
  // obtemos o contexto de desenho
  var contexto = canvas.getContext("2d");
     
......


Ao abrir esta página HTML nós teremos o seguinte resultado:



E agora um círculo preenchido:

<!doctype html>
<html>
<head>
  <title>O objeto Canvas do HTML5</title>
</head>
 
<body>
 
<Canvas id="canvas1" width="500" height="350"></Canvas>
 
<script type="text/javascript">
  // obtemos uma referência ao elemento Canvas  
  var canvas = document.getElementById("canvas1");
  // obtemos o contexto de desenho
  var contexto = canvas.getContext("2d");
     
  // vamos desenhar um círculo sem preenchimento com raio de 80
  contexto.beginPath(); // início um novo caminho
......


Ao abrir esta página HTML nós teremos o seguinte resultado:




VB.NET ::: Dicas & Truques ::: Strings e Caracteres

Como converter uma string para letras maiúsculas em VB.NET usando o método ToUpper() da classe String

Quantidade de visualizações: 10022 vezes
Nesta dica mostrarei como podemos usar o método ToUpper() da classe String do VB.NET para converter todos os caracteres de uma palavra, frase ou texto para letras maiúsculas.

Veja o código completo para o exemplo:

Imports System

Module Program
  Sub Main(args As String())
    Dim frase As String = "VejA esta FRASe"

    ' vamos mostrar a frase original
    Console.WriteLine("Frase original: " & frase)

    ' transforma tudo em letras maiúsculas
    frase = frase.ToUpper()
......


Ao executar este código VB.NET nós teremos o seguinte resultado:

Frase original: VejA esta FRASe
Em letras maiúsculas: VEJA ESTA FRASE


JavaScript ::: URLs e Parâmetros de URLs ::: URLSearchParams

Como obter a quantidade de parâmetros em um objeto URLSearchParams do JavaScript

Quantidade de visualizações: 826 vezes
Em algumas situações nós precisamos saber quantos parâmetros de URL foram informados em um objeto URLSearchParams. Para isso nós só precisamos converter o Map representado por URLSearchParams em um array bidimensional usando Array.from(). A partir daí é só chamar a propriedade length do array.

Veja o código completo para o exemplo:

<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  
<title>Acessando parâmetros de URL</title>
   
</head>
<body>
  
<script type="text/javascript">
......


Ao executar este exemplo JavaScript com a URL:

http://localhost/estudos/index.php?nome=Osmar&idade=39

nós teremos uma mensagem window.alert() com o seguinte texto:

Quantidade de parâmetros: 2


Ruby ::: Dicas & Truques ::: Strings e Caracteres

Como acessar os caracteres de uma string Ruby individualmente usando a notação de vetor []

Quantidade de visualizações: 6892 vezes
Muitas vezes precisamos acessar os caracteres de uma string individualmente. Isso pode ser feito com o auxílio da notação []. Para isso só precisamos fornecer o índice do caractere que queremos acessar e o valor 1, para indicar que queremos acessar apenas um caractere de cada vez. Veja:

nome = "Osmar"

# vamos acessar os caracteres individualmente
for indice in (0..nome.length)
......


Ao executar este código Ruby nós teremos o seguinte resultado:

O
s
m
a
r


C# ::: Windows Forms ::: ListBox

Como ordenar alfabeticamente os itens de uma ListBox do C# Windows Forms usando a propriedade Sorted

Quantidade de visualizações: 10129 vezes
Os itens de uma ListBox podem ser ordenados alfabeticamente definindo-se o valor True para a propriedade Sorted. Em tempo de execução este propriedade pode ser alterada da seguinte forma:

private void button2_Click(object sender, EventArgs e){
  // Ordena os itens da lista alfabeticamente
......


Esta propriedade pode também ser obtida enquanto o programa estiver em execução. Veja um trecho de código no qual clicamos em um botão e exibimos uma mensagem com o valor da propriedade Sorted da ListBox:

private void button1_Click(object sender, EventArgs e) {
  // Obtém o valor da propriedade Sorted
......


Ao executarmos este código C# nós teremos o seguinte resultado:

Valor da propriedade Sorted: True


Desafios, Exercícios e Algoritmos Resolvidos de C#

Veja mais Dicas e truques de C#

Dicas e truques de outras linguagens

Quem Somos

Osmar J. Silva
Programador Freelancer
WhatsApp +55 (062) 98553-6711

Goiânia-GO
Programador Freelancer - Full Stack Developer, Professional Java Developer, PHP, C/C++, Python Programmer, wxWidgets Professional C++ Programmer, Freelance Programmer. Formado em Ciência da Computação pela UNIP (Universidade Paulista Campus Goiânia) e cursando Engenharia Civil pela PUC-Goiás. Possuo conhecimentos avançados de Java, Python, JavaScript, C, C++, PHP, C#, VB.NET, Delphi, Android, Perl, e várias tecnologias que envolvem o desenvolvimento web, desktop, front-end e back-end. Atuo há mais de 20 anos como programador freelancer, atendendo clientes no Brasil, Portugal, Argentina e vários outros paises.
Entre em contato comigo para, juntos, vermos em que posso contribuir para resolver ou agilizar o desenvolvimento de seus códigos.
José de Angelis
Programador Freelancer
WhatsApp +55 (062) 98243-1195

Goiânia-GO
Programador Freelancer - Formado em Sistemas de Informação pela Faculdade Delta, Pós graduado em Engenharia de Software (PUC MINAS), Pós graduado Marketing Digital (IGTI) com ênfase em Growth Hacking. Mais de 15 anos de experiência em programação Web. Marketing Digital focado em desempenho, desenvolvimento de estratégia competitiva, analise de concorrência, SEO, webvitals, e Adwords, Métricas de retorno. Especialista Google Certificado desde 2011 Possui domínio nas linguagens PHP, C#, JavaScript, MySQL e frameworks Laravel, jQuery, flutter. Atualmente aluno de mestrado em Ciência da Computação (UFG)
Não basta ter um site. É necessário ter um site que é localizado e converte usuários em clientes. Se sua página não faz isso, Fale comigo e vamos fazer uma analise e conseguir resultados mais satisfatórios..

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 16 usuários muito felizes estudando em nosso site.