[C con Clase] [Bulk] Re: [Bulk] Re: [Bulk] problema con puntero utilizandowxwidgets!

ZeLion Zelion_cracking en yahoo.es
Vie Ene 4 11:12:00 CET 2008


Fuahs, no me habia dado cuenta de que tenias los eventos enlazados
dinámicamente, jajaja.

Esque yo no suelo usar connect() ya que ocurre lo que me ha pasado, al poder
declaralos en cualquier sitio los tienes descontrolados.

 

Entonce, ahora concuerda todo, jejeje, que despistado soy.

No sabia por que el datagrid procesaba el evento keypress, digo pero que
raro, si no esta declarado en ningun sitio.

Pues bien ahora que veo que has usado connect(), en la declaracion del
envento se lo tienes que dar al ‘form’ y no al ‘grid’, asi el evento sera
procesado por el form:

 

grid->Connect(wxEVT_KEY_DOWN,wxKeyEventHandler(form::keypress));  // Aqui el
evento lo procesa el objeto grid, (no lo necesitamos)

 

Connect(wxEVT_KEY_DOWN,wxKeyEventHandler(form::keypress));         // Asi,
lo procesara el ‘form’

 

Con lo que ya puedes hacer:

 

    void form::keypress(wxKeyEvent& x)

{           

        wxString aa = this->GetName();   // Ahora el dueño del evento
siempre es el ‘form’

 

        if(x.GetKeyCode()==13)

        {

                  buscar->SetFocus();  // ya se puede hacer esto, por que
este evento lo procesa el ‘form’

                  return;

  }

        x.Skip();

    }

 

Vamos a ver, la diferencia entre crear tablas y conect() es que  las tablas
las tienes que crear en tiempo de diseño obligado ya que son macros que el
compilador procesara, con lo cual se desarrollo connect() en un principio
para poder insertar eventos en tiempo de ejecución, ya que con las tablas es
imposible enlazar eventos.

 

El problema es como todo, la comodidad puede ser una desventaja para el
ordenamiento, y como programación es la ordenación de datos, pues pienso que
hay que ser un poco metodico con ciertos aspectos.

Asi pues yo, por ejemplo siempre uso tablas, ya que las ves a simple vista,
estan ordenadas, tienen su posición en el codigo y se pueden encontrar
fácilmente, y si luego necesito modificar un evento o crear uno nuevo en
tiempo de ejecución pues lo creo con connect().

 

Esa es mi forma, cada uno tiene un estilo para programar, por ejemplo, si
ves que es mas facil, comodo y funcional usar connect(), puedes usarlo
simpre pero intenta ordenarlos todos en un bloque de codigo, ya que
facilitara la tarea de leer tu propio codigo y modificarlo.

 

 

Un saludo.

 

 

 

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20080104/7be09047/attachment.html>


Más información sobre la lista de distribución Cconclase