by Antonio Linares » Fri Nov 10, 2006 7:13 am
Toni,
Al no haber ningún control definido en el diálogo, lo que ocurre es que WM_HELP es enviado tanto al diálogo primero, como a la ventana despues. De hecho aparece primero la ayuda del diálogo, pero no se aprecia con la vista (hay que usar un breakpoint tipo MsgInfo()).
Al situar un control en el diálogo, WM_HELP es enviado al diálogo.
Prueba tu ejemplo, modificado así, y luego quítale el control GET:
#include "FiveWin.ch"
static oWnd
function Main()
SETHELPFILE( "fwfun.hlp")
DEFINE WINDOW oWnd TITLE "A Window"
oWnd:nHelpId = 2
ACTIVATE WINDOW oWnd ;
ON INIT ShowDlg()
return nil
//----------------------------------------------------------------------------//
function ShowDlg()
local oDlg, cTest := Space( 10 )
DEFINE DIALOG oDlg FROM 5, 5 TO 20, 40 TITLE "A Dialog Box"
oDlg:nHelpId := 3
@ 2, 2 GET cTest OF oDlg HELPID 4
ACTIVATE DIALOG oDlg ;
ON PAINT oDlg:Say( 1, 1, "Hello" ) ;
ON CLICK MsgInfo( oDlg:nHelpId )
return nil