wx, setear foco.
Oswaldo Hernández
listas en soft-com.es
Mar Ene 31 20:03:36 CET 2006
Ariel Nardelli escribió:
> Hola!
>
> Tengo declarado varios texbox y botones en mi programa con wx y se me
> plantea el problema que quiero setear el foco no por nombre del objeto
> sino por el orden que esta definido, se puede hacer eso??
>
> Con ejemplo seria:
>
> Tengo definido....
>
> self.tb_cgas = wx.TextCtrl(self,* 1*,
> "",tyle=wx.TE_PROCESS_ENTER|wx.TE_PROCESS_TAB)
> self.bbuscar = wx.BitmapButton(self, *2*, wx.Bitmap("iconos/buscar.gif",
> wx.BITMAP_TYPE_ANY))
> self.tb_apno = wx.TextCtrl(self, *3*, "",
> style=wx.TE_PROCESS_ENTER|wx.TE_PROCESS_TAB)
> self.tb_calle = wx.TextCtrl(self,* 4, *"",
> style=wx.TE_PROCESS_ENTER|wx.TE_PROCESS_TAB)
> self.tb_altu = wx.TextCtrl(self, *5*, "",
> style=wx.TE_PROCESS_ENTER|wx.TE_PROCESS_TAB)
>
> Entonces tengo definidos el "orden" 1 que es cgas, 2 que es el boton
> buscar, 3 que es apno, 4 que es calle y 5 que es altu...
>
> Si yo quiero setear el foco en el boton buscar pongo
> self.bbuscar.SetFocus() y listo o si quiero poner el foco en calle pongo
> self.tb_calle.SetFocus() y listo el pollo...
> La cosa es que quiero setear el foco segun el orden con que lo declare y
> no por el nombre del texbox pero no se como!!!!!, asi puedo mandar el
> foco directamente donde yo quiero sin importar el nombre del texbox sino
> directamente poner que el foco valla al orden 4 y listo :) se pase el
> foco a ese orden, se entiende??????
>
> Alguien sabe como hacerlo??? o por lo menos decirme donde empezar a
> buscar???
>
> Gracias!!!
>
> Ariel
Puedes hacer una lista de controles y utilizarlos por su posicion:
self.CajasTXT = []
self.CajasTXT.append(self.tb_cgas)
self.CajasTXT.append(self.tb_calle)
etc ..
depues asignas el foco con:
self.CajasTXT[1].SetFocus
Saludos,
*****************************************
Oswaldo Hernández
oswaldo en soft-com.es
*****************************************
Más información sobre la lista de distribución Python-es