enventos del mouse en MDI

enventos del mouse en MDI

Postby miarcod » Thu Nov 10, 2016 4:34 pm

Alguien me puede aclarar porque no me funciona el doble click en una ventana de estilo MDI

El codigo lo se sacado del mensaje

Mouse events on MDI-frame ?

Code: Select all  Expand view

STATIC oWnd

Function Main()

    DEFINE WINDOW oWnd TITLE "Testing the Mouse" MDI // ===>>> MDI needed !!!
    oWnd:oWndClient:bLClicked = { | nRow, nCol, nFlags | oWnd:oWndClient:Say( 2, 2, "LButtonDown" ) }
    oWnd:oWndClient:bLButtonUp = { | nRow, nCol, nFlags | oWnd:oWndClient:Say( 2, 2, "LButtonUp " ) }
    oWnd:oWndClient:bMButtonDown = { | nRow, nCol, nFlags | oWnd:oWndClient:Say( 2, 2, "MButtonDown" ) }
    oWnd:oWndClient:bMButtonUp = { | nRow, nCol, nFlags | oWnd:oWndClient:Say( 2, 2, "MButtonUp " ) }
    oWnd:oWndClient:bRClicked = { | nRow, nCol, nFlags | oWnd:oWndClient:Say( 2, 2, "RButtonDown" ) }
    oWnd:oWndClient:bRButtonUp = { | nRow, nCol, nFlags | oWnd:oWndClient:Say( 2, 2, "RButtonUp " ) }
    oWnd:oWndClient:bMMoved = { | nRow, nCol, nFlags | MsgBeep() }
    oWnd:oWndClient:bLDblClick = { | nRow, nCol, nFlags | MsgInfo( "Left Doble Click" ) }

    SET MESSAGE OF oWnd TO "Press any mouse button" CENTERED

    ACTIVATE WINDOW oWnd

    return nil


gracias
miarcod
 
Posts: 197
Joined: Tue Oct 11, 2005 2:17 pm

Re: enventos del mouse en MDI

Postby Antonio Linares » Thu Nov 10, 2016 8:15 pm

He construido tu ejemplo y lo he inspeccionado usando Spy++ de Microsoft

y para mi sorpresa, resulta que Windows no envía el mensaje doble click a la ventana cliente de una ventana MDI

asi que esa es la razón de que no te funcione.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41314
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: enventos del mouse en MDI

Postby Antonio Linares » Thu Nov 10, 2016 8:20 pm

Como la ventana cliente usa una clase predefinida de Windows, "MDICLIENT", la única solución
que se me ocurre seria intentar modificar esa clase usando SetWindowLong() y añadirle el estilo CS_DBLCLKS

#define CS_DBLCLKS 0x0008
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41314
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: enventos del mouse en MDI

Postby miarcod » Fri Nov 11, 2016 3:45 pm

Gracias por la respuesta,
Voy a ver como lo soluciono, aunque no es importante, simplemente es que para acceder a las opciones de mantenimiento una apliación no MDI utilizaba un doble click.
Un saludo
miarcod
 
Posts: 197
Joined: Tue Oct 11, 2005 2:17 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 57 guests