Arquivo de julho \30\+00:00 2012
Exemplo de uso da biblioteca wxWidgets
Publicado por Pablo Alexander em c/c++ em 30 de julho de 2012
Recentemente meu pai pedio para mim criar um programa que exibi-se a logo marca dele com telefone no canto da área de trabalho do computador para que ele pode-se instala-lo nos clientes, ao invés de digitar uma montanha de código para deixar a jenela transparente e formatar o widgets de forma que eles funcionem de acordo com a necessidade, resolvi usar uma classe de Splashscreen padrão do wxWidgets para resolver o problema, onde seria somente necessário direcionar a imagem que se deseja exibir no canto esquerdo da tela. Segue abaixo os códigos usados.
main.h:
#include <wx/wx.h> /* * Suporte Widget * programa para exibir uma imagem no canto esquerdo da tela * desenvolvido por Pablo Alexander * qtpablo@gmail.com * https://digitandocodigos.wordpress.com/ * */ class MyApp : public wxApp { public: virtual bool OnInit(); };
main.cpp:
#include "main.h" #include <iostream> #include <wx/splash.h> /* * Suporte Widget * programa para exibir uma imagem no canto esquerdo da tela * desenvolvido por Pablo Alexander * qtpablo@gmail.com * https://digitandocodigos.wordpress.com/ * */ IMPLEMENT_APP(MyApp) bool MyApp::OnInit() { //informa std::cout << "Programa desenvolvido por Pablo Alexander da rocha gonçalves" << std::endl; //obtem o tamanho da display int w,h; wxDisplaySize(&w, &h); //exibe o tamanho do display std::cout << std::endl << "Resolução da Tela.." << std::endl; std::cout << "Largura: " << w << "px" << std::endl; std::cout << "Altura: " << h << "px" << std::endl; //Inicializa o tipo png wxInitAllImageHandlers(); wxSplashScreen *splash; wxBitmap bmp; if (bmp.LoadFile(wxT("logo.png"),wxBITMAP_TYPE_PNG)) { //exibe o tamanho do display std::cout << std::endl << "Imagem.." << std::endl; std::cout << "Largura: " << bmp.GetWidth() << "px" << std::endl; std::cout << "Altura: " << bmp.GetHeight() << "px" << std::endl; splash = new wxSplashScreen(bmp, wxSPLASH_NO_CENTRE|wxSPLASH_NO_TIMEOUT, 6000, NULL, -1, wxDefaultPosition, wxDefaultSize, wxSIMPLE_BORDER|wxSTAY_ON_TOP); } wxYield(); std::cout << std::endl << "SplashScreen inicializado..." << std::endl; //determina onde deve ser exibido splash->Move(wxPoint(w - bmp.GetWidth() - 20, h - bmp.GetHeight() - 35)); return true; }
Para compilar use o seguinte comando: g++ main.cpp -o suporte `wx-config –cxxflags –libs`
Ultimos Comentários