Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 2
Ir a la página 1, 2  Siguiente
 
Un Mismo Tooltip Para Varios Botones Hay Otra Forma De Hacerlo?[Resuelto]
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Un Mismo Tooltip Para Varios Botones Hay Otra Forma De Hacerlo?[Resuelto] 
 
hay otra forma de codificar esto:


 
btnset1.Tooltip = "El color de este botón indica quien" & "\n" & "comienza sacando en este juego!!"
     btnset2.Tooltip = "El color de este botón indica quien" & "\n" & "comienza sacando en este juego!!"
     btnset3.Tooltip = "El color de este botón indica quien" & "\n" & "comienza sacando en este juego!!"
     btnset4.Tooltip = "El color de este botón indica quien" & "\n" & "comienza sacando en este juego!!"
     btnset5.Tooltip = "El color de este botón indica quien" & "\n" & "comienza sacando en este juego!!"
     btnset6.Tooltip = "El color de este botón indica quien" & "\n" & "comienza sacando en este juego!!"
     btnset7.Tooltip = "El color de este botón indica quien" & "\n" & "comienza sacando en este juego!!"

 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
última edición por v3ctor el Miercoles, 05 Noviembre 2014, 15:18; editado 1 vez 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Un Mismo Tooltip Para Varios Botones Hay Otra Forma De Hacerlo? 
 
...una cosa como esta:

Public Sub Form_Open()

  Dim b As Object

  For Each b In FMain.Children
    If Object.Type(b) = "Button" Then b.Tooltip = "El color de este botón indica quien" & "\n" & "comienza sacando en este juego!!"
  Next

End

 



 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Un Mismo Tooltip Para Varios Botones Hay Otra Forma De Hacerlo? 
 
Vuott:

Las comillas de "Button", creo que no hacen falta.  No es una cadena, es un objeto.

Yo habría usado...

Public Sub Form_Open()

Dim b As Object

For Each b In FMain.Controls
    If b Is Button Then b.Tooltip = "El color de este botón indica quien" & "\n" & "comienza sacando en este juego!!"
Next

End
 


Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Un Mismo Tooltip Para Varios Botones Hay Otra Forma De Hacerlo? 
 
Shell escribió: [Ver mensaje]
Vuott:

Las comillas de "Button", creo que no hacen falta.  No es una cadena, es un objeto.

Yo habría usado...

Hola Shellll,
hemos usado dos functiones diferentes.
La mia requiere ...anhela   - como parámetro - un objecto, y regresa una cadena: el tipo de objecto.

Ambas son buenas sugerencias.
La tuya es muy buena, porque es un poco mas corta.

Una otra manera, un poco como la tu sugerencia y un poco como la mia, es esta:
Public Sub Form_Open()

 Dim b As Object

  For Each b In FMain.Controls
     If Object.Is(b, "Button") Then b.Tooltip = "El color de este botón indica quien" & "\n" & "comienza sacando en este juego!!"
  Next

End



Saludos, amigo Shell !    bye1
 



 
última edición por vuott el Lunes, 03 Noviembre 2014, 17:16; editado 4 veces 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Un Mismo Tooltip Para Varios Botones Hay Otra Forma De Hacerlo? 
 
Hola Vuott.

Tengo que practicar esa ultima función que has mostrado.
Ya veo que Object tiene muchos métodos.

http://gambasdoc.org/help/comp/gb/object?es&v3

Interesante.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Un Mismo Tooltip Para Varios Botones Hay Otra Forma De Hacerlo? 
 
dj
 



 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Un Mismo Tooltip Para Varios Botones Hay Otra Forma De Hacerlo? 
 
Saludos cordiales!

Es la primera vez que "posteo", de hecho, me acabo de registrar, pero es que este tema me interesa, También soy novicio en gambas, pero lo estoy intentando con gambas 2.21 corriendo en una distribución GNU/linux venezolana: canaima 3.1. dicho esto, paso a materia:

Yo deseo cambiar de una manera rápida y automática en varias etiquetas (20 controles Label) los atributos de color de fondo (Background) y el color de la fuente (Foreground), algo similar a lo que se plantea aquí. Al principio los 20 Label tienen los mismos colores de background y foreground, pero en la medida que el programa corre se van cambiendo esos atributos en los Label a determinados tiempos con colores diferentes, entonces, lo que deseo es poder restaurar esos atributos en los Label a los colores originales cuando, despues de un tiempo, decida hacerlo mediante un procedimiento personalizado, activado por un botón, por ejemplo. Además, se debe considerar que en el formulario hay otros controles Label que no estan sometidos a estos cambios de colores y no deben ser afectados por el procedimiento personalizado de restauración.

Con Visual Basic 6 esto yo lo hago muy fácil definiendo los 20 Label en una matriz y escribiendo un procedimiento como este:

Sub Button_Click()
     For i = 0 to 19
           Label1(i).Foreground = grey 'Gris
           Label1(i).Background = Navy 'Azul oscuro
    Next i
End Sub

Si aplicase los código que aquí se han expuesto debería yo escribir algo como: ??

 Dim etq As Object

For Each etq In FMain.Controls
  If Object.Is(etq, "Label") Then
     .Foreground = "&HDDDDDD&"
     .Background = "&H0000AA&"
  End If
Next

Pero recuerdo que les dije que tengo más de 20 Labels en el formulario y sospecho que con este código todos los label del formulario se verían afectados, o no?

Yo he pensado que si reescribo este código utilizando en él el método GetProperty del objeto Object tal vez pueda discriminar entre los Labels si los 20 que me interesan los agrupo, que creen ustedes?

Si previamente le asigno a la propiedad "Group" de los 20 Labels el valor: "Celdas" y, entonces, defino el código así:

 Dim etq As Object

For Each etq In FMain.Controls
  If Object.Is(etq, "Label") And Object.GetProperty(etq, "Group") = "Celdas" Then
      .Foreground = "&HDDDDDD&"
      .Background = "&H0000FF&"
  End If
Next

No he probado este código (lo voy a hacer más tarde), pero si alguno de ustedes ya lo sabe agradecería me lo hiciera saber, o quizá si la manera correcta es de otra forma...

Gracias de antemano!!!

luysess.
 



 
luysess - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Un Mismo Tooltip Para Varios Botones Hay Otra Forma De Hacerlo? 
 
Saludos!!

Aquí estoy de nuevo...

Probré el código anterior...pero no dió resultado!!! Se genera un error pués parece que no puedo usar "Group" como propiedad en el procedimiento Object.GetProperty(etq, "Group") = "Celdas"...decepcionante!!!

He resuelto mi dilema de la siguiente forma:

Código (en un botón, directamente, es decir, sin usar un procedimiento personalizado):

PUBLIC SUB Button2_Click()

  DIM etq AS Object, i AS Integer
  
  FOR EACH etq IN FMain.Controls
    IF Object.Is(etq, "Label") THEN
      FOR i = 1 TO 20
        IF Object.GetProperty(etq, "Tag") = i THEN
          etq.ForeColor = &HAAAAAA&
          etq.Background = &H0000AA&
        ENDIF
      NEXT
    ENDIF
  NEXT
  
END

Con este código puedo restaurar el ForeColor (o Foreground) y el Background (o BackColor) (como se esté usando) de las 20 Labels, en particular, sin afectar el resto de Labels del formulario, sin embargo, me parece que es poco eficiente, es decir, demasiados ciclos!! Debe existir una manera más eficiente de hacerlo, como en VB6. Creo que se debería poder usar la propiedad "Group" para ello.

Nota importante: En este caso es inprescindible que el resto de Labels no tengan definida la propiedad "Tag" o, al menos, que no tengan asignados números que coincidan con los de las Labels del grupo "Celdas", o sea, que no estén en el rango de 1 a 20, porque de lo contrario las que coincidan en el valor de "Tag" serán afectadas.

luysess
 



 
luysess - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Un Mismo Tooltip Para Varios Botones Hay Otra Forma De Hacerlo? 
 
Hola!!

Siguiendo con las pruebas he podido reducir el codigo anterior a:

PUBLIC SUB Button2_Click()

  DIM etq AS Object
  
  FOR EACH etq IN FMain.Controls
    IF Object.Is(etq, "Label") AND NOT IsNull(Object.GetProperty(etq, "Tag")) THEN
      IF Val(Object.GetProperty(etq, "Tag")) > 0 AND Val(Object.GetProperty(etq, "Tag")) < 20 THEN
        etq.ForeColor = &HAAAAAA&
        etq.Background = &H0000AA&
      ENDIF
    ENDIF
  NEXT

END
 



 
luysess - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Un Mismo Tooltip Para Varios Botones Hay Otra Forma De Hacerlo? 
 
Perfecto, en programación menos es mejor. Tan sólo una precisión: La colección FMain.Controls afecta a todos los controles del proyecto, ya estén en el formulario principal o no, es decir, si tu proyecto tiene muchos forms abiertos, puedes llegar a recorrer muchos ciclos del bucle innecesarios. Si el grupo de controles que quieres tratar están en otro formulario, sólo tienes que recorrer la colección .Controls del formulario en cuestión. Más rápido, vamos.

Otra cosa: gambas 2 está deprecado, abandonado, obsoleto, viejito, jubilado, muerto, etc. etc. No lo uses.
Añadete el repositorio estable de gambas3 (comando: sudo add-apt-repository ppa:gambas-team/gambas3) y usa y disfruta de la última versión estable. Han cambiado tantas cosas desde el viejo gambas2 que casi no vale la pena ni comentarlas.

Bienvenido y suerte.
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Varios Texbox Con El Mismo Evento!! m_padron Controles/Librerías/Componentes 19 Viernes, 26 Noviembre 2010, 20:25 Ver último mensaje
jguardon
No hay nuevos mensajes TurboPDF: Visiona Varios Pdf O El Mismo Pd... jsbsan Aplicaciones/Fragmentos de Código 2 Lunes, 28 Abril 2014, 01:38 Ver último mensaje
portaro
No hay nuevos mensajes Proyectos De Gambas No Muestran Colores En... v3ctor General 5 Miercoles, 18 Junio 2014, 19:20 Ver último mensaje
vuott
No hay nuevos mensajes Recurso Curioso, No Se Me Ocurrio Otra Forma v3ctor Bases de Datos 4 Martes, 10 Julio 2018, 17:31 Ver último mensaje
v3ctor
 

Publicar nuevo tema  Responder al tema  Página 1 de 2
Ir a la página 1, 2  Siguiente

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron