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