A classe wxFrame, definida no arquivo <wx/frame.h>, herda diretamente da classe wxTopLevelWindow (que herda de wxWindow) e, em geral, é usada para representar a janela principal da aplicação. Em tempo de execução seu tamanho pode ser alterado, maximizado, restaurado e minimizado. Esta janela também inclui uma borda mais grossa, uma barra de títulos e, opcionalmente, uma barra de menus, uma barra de ferramentas ou uma barra de status.
Uma wxFrame pode atuar como um contâiner para outros controles, tais como botões, caixa de texto, listas, tabelas, etc. No entanto, não podemos inserir em uma wxFrame uma outra wxFrame ou um diálogo.
O construtor não vazio da classe wxFrame é:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | ----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)
Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br
----------------------------------------------------------------------
wxFrame::wxFrame(wxWindow* parent, wxWindowID id,
const wxString& title, const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxDEFAULT_FRAME_STYLE,
const wxString& name = wxFrameNameStr)
|
O parâmetro parent pode ser, e geralmente é, NULL. Se esse valor for diferente de NULL, a frame será minimizada quando sua janela mãe foi minimizada e restaurada quando esta for restaurada. Note que estamos falando de aplicações de janelas de múltiplos documentos (janelas MDI).
O parâmetro id é o identificador da janela. Podemos informar -1 para indicar um valor default.
O parâmetro title é o texto a ser exibido na barra de títulos da janela.
O parâmetro pos é a posição da janela, expressa como um wxPoint (coordenada x e y). Se fornecermos o valor wxDefaultPosition para este parâmetro, a posição da janela será escolhida pelo sistema de janelas ou pela biblioteca wxWidgets, dependendo da plataforma.
O parâmetro size é o tamanho da janela, expresso como um wxSize (largura e altura). O valor wxDefaultSize indica o tamanho padrão (default), escolhido pelo sistema de janelas ou pela biblioteca wxWidgets, dependendo da plataforma.
O parâmetro style é o estilo da janela. O valor padrão é wxDEFAULT_FRAME_STYLE (que pode ser redimensionada, possui um botão de minimizar, de maximizar, etc).
O parâmetro name é usado para associar a janela com um item nomeado, permitindo a personalização individual da janela em sistemas que usam o Motif. No Windows este parâmetro não possui nenhum efeito.
Vamos ao código agora. Veja os arquivos de definição e de implementação para a criação de uma janela wxFrame:
Código para janelaprincipal.h:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | ----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)
Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br
----------------------------------------------------------------------
#ifndef _JANELAPRINCIPAL_H
#define _JANELAPRINCIPAL
#include <wx/wx.h>
// Definição da nossa janela wxFrame
class JanelaPrincipal : public wxFrame{
public:
// construtor não vazio
JanelaPrincipal(const wxChar *titulo, int posX, int posY,
int largura, int altura);
// destrutor
~JanelaPrincipal();
};
#endif // _JANELAPRINCIPAL_H
|
Código para janelaprincipal.cpp:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | ----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)
Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br
----------------------------------------------------------------------
#include "janelaprincipal.h"
// arquivo de implementação
JanelaPrincipal::JanelaPrincipal(const wxChar *titulo, int posX,
int posY, int largura, int altura) : wxFrame((wxFrame *)NULL, -1,
titulo, wxPoint(posX, posY), wxSize(largura, altura)){
// não vamos fazer nada aqui por enquanto
}
JanelaPrincipal::~JanelaPrincipal(){
// por enquanto vamos deixar o construtor vazio
}
|
Agora veja o arquivo de definição e de implementação necessários para a criação e exibição da nossa janela:
Código para aplicacao.h:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | ----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)
Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br
----------------------------------------------------------------------
#include <wx/wx.h>
// arquivo de definição
// declaramos a classe application
class MinhaAplicacao : public wxApp{
public:
// é chamado no startup da aplicação
virtual bool OnInit();
};
// declara MinhaAplicacao& GetApp()
DECLARE_APP(MinhaAplicacao)
|
Código para aplicacao.cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | ----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)
Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br
----------------------------------------------------------------------
#include "aplicacao.h"
#include "janelaprincipal.h"
// arquivo de implementação
// aqui o wxWidgets cria nosso objeto MinhaAplicacao e o associa
// com a função de entrada main() ou WinMain()
IMPLEMENT_APP(MinhaAplicacao)
bool MinhaAplicacao::OnInit(){
// vamos criar nossa janela
JanelaPrincipal *janela = new JanelaPrincipal(wxT("Cadastro"),
50, 50, 500, 400);
// vamos exibir a janela wxFrame
janela->Show(TRUE);
// essa vai ser a janela principal da aplicação
SetTopWindow(janela);
// podemos iniciar o loop de eventos
return true;
}
|
Note que, para que a janela seja visível na tela, devemos fazer uma chamada ao método Show() e fornecer o valor TRUE. Esta função é definida originalmente em wxWindow. Veja também que chamamos SetTopWindow() para informar ao wxWidgets que esta é a janela principal, razão pela qual fornecemos o valor NULL para o parâmetro parent.
|