• Miércoles 20 de Noviembre de 2024, 08:40

Autor Tema:  detectar el click derecho e izquierdo en taskbar btn  (Leído 2963 veces)

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
detectar el click derecho e izquierdo en taskbar btn
« en: Viernes 14 de Agosto de 2009, 18:18 »
0
Hola,
como puedo detectar el click derecho e izquierdo en el botón de mi aplicación en la barra de tareas?

Realmente ya logre detectar el click derecho capturando el mensaje WMTaskBarRClick = 0x0313 que por cierto es un mensaje indocumentado :S

Pero con el izquierdo, que es el que más me interesa no he logrado hacer absolutamente nada, alguien sabe como lo puedo hacer?}

Realmente el problema de fondo es que tengo un form con WindowStyle=None y un form con este estilo no se minimiza y normaliza cuando uno da click en el botón de la aplicación de la barra de tareas, es decir no escucha los mensajes de maximizar y minimizar...

entonces logre interceptar el click derecho de la barra para hacerlo minimizar o maximizar con el click derecho... pero ese no es el comportamiento normal ya que debe ser así pero con el izquierdo, pero ese evento no lo he podido capturar.

ayer gaste toda la tarde haciendo seguimiento de mensajes y los que logre detectar realmente se disparan también en otras circunstancias así que no son lo que busco.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: detectar el click derecho e izquierdo en taskbar btn
« Respuesta #1 en: Viernes 14 de Agosto de 2009, 19:54 »
0
¿No te llega el WM_ACTIVATE con wParam siendo WA_INACTIVE?

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: detectar el click derecho e izquierdo en taskbar btn
« Respuesta #2 en: Viernes 14 de Agosto de 2009, 21:52 »
0
Si,
pero la ventana se comporta de la siguiente manera:

1- si dejo presionado el boton del mouse en el boton de la barra de tareas la aplicacion se esconde
2- si suelto el boton la aplicacion se hace visible de nuevo

estoy haciendo algo asi:

Código: C#
  1.             if (m.Msg == WM_ACTIVATE)
  2.             {
  3.                 if (m.WParam.ToInt32() == WA_INACTIVE)
  4.                 {
  5.                     this.WindowState = FormWindowState.Minimized;
  6.                 }
  7.             }
  8.  
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: detectar el click derecho e izquierdo en taskbar btn
« Respuesta #3 en: Viernes 14 de Agosto de 2009, 22:08 »
0
Tal vez usando la misma logica que en este ejemplo puedas:
http://www.rohitab.com/discuss/lofivers ... 27876.html

La crea con borde pero despues le saca WS_CAPTION y WS_SIZEBOX en tiempo de ejecucion ...

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: detectar el click derecho e izquierdo en taskbar btn
« Respuesta #4 en: Viernes 14 de Agosto de 2009, 22:40 »
0
muy buena idea, bueno la hice así que es más fácil.

1- cree la ventana normal
2- modifique el método (propiedad )de creación de parámetros

Código: C#
  1.         const int WS_CAPTION = 0xC00000;
  2.         const int WS_THICKFRAME = 0x00040000;
  3.         const int WS_SIZEBOX = WS_THICKFRAME;
  4.         protected override CreateParams CreateParams
  5.         {
  6.             get
  7.             {
  8.                 CreateParams p = base.CreateParams;
  9.                 p.Style &= ~(WS_CAPTION | WS_SIZEBOX);
  10.                 return p;
  11.             }
  12.         }
  13.  

mm, en solocódigo ya deberia haber un sistema de puntos para las respuestas correctas.


gracias!!  ;)
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: detectar el click derecho e izquierdo en taskbar btn
« Respuesta #5 en: Viernes 14 de Agosto de 2009, 22:58 »
0
De nadas  B)

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.