Ver Mensaje Individual
  #4  
Antiguo 18-03-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Por lo que veo, el área que almacena los iconos no es otra cosa que una Toolbar. Partiendo de lo dicho por delphi.com.ar encuentras el identificador de dicha barra:

Código:
hToolbar := FindWindowEx(hTryNotify, 0, 'ToolbarWindow32', nil);
y ahora puedes comenzar a mandarle mensajes a esta ventana tales como TB_DELETEBUTTON o TB_HIDEBUTTON, por ejemplo:

Código:
SendMessage(hToolBar, TB_HIDEBUTTON, 3, 1)
ocultará el botón número 3 mientras que

Código:
SendMessage(hToolBar, TB_HIDEBUTTON, 3, 0)
lo mostrará de nuevo.

El mensaje TB_CHANGEBITMAP te servirá para cambiar el bitmap.

Este último no lo he probado pero los dos primeros sí y han funcionado.

La dificultad aquí es hallar el número de botón correcto. En principio parecería que van numerados desde cero de izquierda a derecha pero puede no ser así ya que, por ejemplo, si le mando el mensaje TB_BUTTONCOUNT me devuelve un número de botones mayor a los que veo.

Además al ocultarlo o borrarlo queda el hueco, es decir, el tamaño de esta área de iconos no se reajusta solo. Sin embargo vi por ahí y sí funciona, que si insertas tú mismo un icono, el área se reajusta. Aunque el efecto no es muy nítido puedes insertar e inmediatamente quitar un icono 'de palo' cada vez que ocultes o vuelvas a mostrar iconos.

Por supuesto que no está de más mencionar que estos iconos no son sólo dibujitos sino que son puntos de entrada a ciertas aplicaciones de manera que el quitarlos podría en algunos casos traer consecuencias inesperadas.

Pero en fin, ya tienes con que empezar a jugar

Para mayor información busca en la ayuda del sdk de Windows acerca del control Toolbar para que veas qué mensajes puedes mandar.

// Saludos
Responder Con Cita