• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

walyd

Ajuda wxDevC++

1 mensagem neste tópico

Bom galera, consegui fazer o tratamento com a tecla TAB

A) Crie um gerenciador de eventos no frame:

void Project1Frm::OnChar(wxKeyEvent& event) {
   wxMessageBox(wxT("Erro de gravação!"),wxT("Erro"), wxICON_ERROR); }

B) Registre o gerenciador de eventos na tabela de eventos:

////Event Table Start
BEGIN_EVENT_TABLE(Project1Frm,wxFrame)
////Manual Code Start
EVT_CHAR(Project1Frm::OnChar)
   ////Manual Code End

EVT_CLOSE(Project1Frm::OnClose)
END_EVENT_TABLE()
////Event Table End

C) Faça o mesmo na declaração da classe do frame:

public:
 Project1Frm(wxWindow *parent, wxWindowID id = 1, const wxString &title = wxT("Project1"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = Project1Frm_STYLE);
 virtual ~Project1Frm();
 void OnChar(wxKeyEvent& event);

D) No bloco que instancia o Memo você adiciona a linha:

WxMemo1->Connect(wxEVT_CHAR,wxKeyEventHandler(Project1Frm::OnChar));

Vai ficar mais ou menos assim:

WxMemo1->AppendText(wxT("WxMemo1"));
WxMemo1->SetFocus();
WxMemo1->SetInsertionPointEnd();
WxMemo1->SetFont(wxFont(8, wxSWISS, wxNORMAL,wxNORMAL, false, wxT("Tahoma")));  WxMemo1->Connect(wxEVT_CHAR,wxKeyEventHandler(Project1Frm::OnChar));
////GUI Items Creation End

Meu problema esta com o ENTER:

void Projeto1Frm::OnChar(wxKeyEvent& event) {
  int keyCode = (int)event.GetKeyCode();
  if (keyCode == WXK_TAB){
     wxMessageBox(wxT("Erro de gravação!"),wxT("Erro"), wxICON_ERROR);
  }
  else
     WxMemo1->OnChar(event);
}

Meu problema agora esta com a tecla ENTER. Todas as teclas funcionam, quando dou ENTER o programa trava.

Quando faço WxMemo1->OnChar(event); a única tecla que não funciona é o ENTER.

Alguém tem idéia de como resolver?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora