Ai sim, valeu por fazer o tutorial que eu tanto te pedi haha.
Em breve vou ler, abraços.
info
Grupo: Infante
Registrado: 13/10/08
Posts: 1.6k
Reputação: +420
Char no Tibia: Demonbholder

Ai sim, valeu por fazer o tutorial que eu tanto te pedi haha.
Em breve vou ler, abraços.
info
Grupo: Visconde
Registrado: 03/02/09
Posts: 361
Reputação: +200
Char no Tibia: Fearless Man
Introdução à biblioteca wxlua
Antes de iniciarmos nosso aprendizado em wxlua, devemos ter em mente qual a finalidade dessa biblioteca.
Bem, a biblioteca wxlua, juntamente com sua API C, implementa as funções essenciais para criarmos uma
aplicação com interface gráfica.
É uma biblioteca muito rica e, utilizando-se de outras bibliotecas lua, podemos criar aplicativos incríveis.
Entendida a função, podemos começar a estudar a estrutura dos programas escritos com a biblioteca wxlua,
que segue uma estrutura bem rígida quanto à organização.
Para que possamos utilizar as funções disponíveis através da biblioteca wx, nosso programa deverá invocar
esta, através da função require, da seguinte maneira:
require("wx")Desta maneira, nosso programa terá conhecimento das funções e poderá utilizá-la.
Obrigatoriamente, nosso aplicativo deve ter um frame, que seria como um "palco", onde nossos componentes
serão inseridos. Este palco deve também ser repassado a uma variável, para que possa ser acessado quando
formos "pendurar" nossos componentes. - "pendurar" seria a tradução de "append", termo que passaremos a utilizar mais adiante.
Agora veremos nossa primeira função wx, a função wx.wxFrame:
Onde :
O primeiro argumento é o id do frame "pai". Quando quisermos criar um frame principal, deveremos utilizar no lugar desta variável,
a constante wx.NULL
O segundo argumento é o id do frame que está sendo criado. Comumente utiliza-se o wx.wxID_ANY, que irá criar um
id para nosso frame.
O terceiro argumento é o nome que será exibido no topo do nosso palco.
O quarto argumento é a posição onde o palco será criado. Para tamanho padrão, utiliza-se a constante wx.wxDefaultPosition.
O quinto argumento é o tamanho do palco
O último argumento é o estilo do palco. Para criarmos um frame com estilo padrão, utilizamos a constante wx.wxDEFAULT_FRAME_STYLE.
Então já sabemos criar um palco para que possamos colocar nossos componentes. Vamos criar um menu?
Para criarmos um menu, devemos associá-lo também a uma variável, com o valor da função wx.wxMenu(). Veja:
Vamos agora colocar uma opção neste menu. Esta opção nos mostrará uma mensagem informando que você conseguiu criar a opção.
Criarei primeiro um id para associar à minha opção e em seguida, a criarei:
Os parâmetros do Append, são:
Id, que é o id associado ao seu menu
Texto, que é o texto que ficará escrito em sua opção no menu
Mensagem, que é a mensagem que aparecerá no rodapé do nosso programa quando posicionarmos o
cursor do mouse sobre a opção
Você deve ter percebido que eu coloquei um "&" no meu texto. Bem, este é o modo de criar um atalho. Neste
caso, meu atalho será "x". Quando eu estiver no menu e pressionar "x", esta opção será selecionada.
Continuando, nós já criamos nosso menu. Entretanto, ele não está no palco ainda. Ou seja, não será exibido. Vamos colocá-lo lá?
Primeiro criamos a barra de menus:
Depois, "penduro" meu menu na barra que criei:
Por fim, coloco minha barra no meu palco:
Menu no lugar, que tal criarmos a barra inferior que exiba alguma mensagem para o usuário?
Pronto. Vou colocar um texto nela que, quando o programa for aberto, estará escrito:
MeuPalco:SetStatusText("Olá! Você está indo bem!")Feito. Lembra que eu disse que a nossa opção no menu exibiria uma mensagem? Então, agora é a hora:
MeuPalco:Connect(MenuXtibia, wx.wxEVT_COMMAND_MENU_SELECTED, function(event) wx.wxMessageBox("Boa campeão. Você está seguindo corretamente o tutorial.", "Parabéns!", wx.wxOK + wx.wxICON_INFORMATION, MeuPalco) end)Ufa, está acabando. Tudo o que criamos até agora, não está visível. Então, devemos corrigir isto:
E por fim, para que nosso programa seja exibido corretamente, utilizamos a função MainLoop:
Pronto. Se conseguiu obter resultados positivos, parabéns. Caso contrário, procure entender
onde estão seus erros e procure corrigí-los.
Nosso código no fim deve estar parecido com este:
require("wx") MeuPalco = wx.wxFrame(wx.NULL, wx.wxID_ANY, "Tutorial xtibia", wx.wxDefaultPosition, wx.wxSize(200,200), wx.wxDEFAULT_FRAME_STYLE) MeuMenu = wx.wxMenu() MenuXtibia = 1 MeuMenu:Append(MenuXtibia, "&xtibia", "Clique para saber mais.") MinhaBarra = wx.wxMenuBar() MinhaBarra:Append(MeuMenu, "&Menu") MeuPalco:SetMenuBar(MinhaBarra) MeuPalco:CreateStatusBar(1) MeuPalco:SetStatusText("Olá! Você está indo bem!") MeuPalco:Connect(MenuXtibia, wx.wxEVT_COMMAND_MENU_SELECTED, function(event) wx.wxMessageBox("Boa campeão. Você está seguindo corretamente o tutorial.", "Parabéns!", wx.wxOK + wx.wxICON_INFORMATION, MeuPalco) end) MeuPalco:Show(true) wx.wxGetApp():MainLoop()Lembrando: Para se executar este código, é necessária a biblioteca wxlua ou o scite instalados.
flw
Editado Junho 17 por apocarai