I have finally figured out a solution (this is written in Phix, btw):

In key_cb:
    if alt and find(base,"BCDILUX") then
        string Yelp = "&Yelp"
        Yelp[2] = base
        IupSetStrAttribute(main_help_menu,"TITLE",Yelp)
        reset_help = true
    end if
    <plus code to do what those alt-keys should>

In main_help_menu_open_cb:
    if reset_help then
        reset_help = false
        IupSetAttribute(main_help_menu,"TITLE","&Help")
        IupSetInt(main_help_menu,"ACTIVE",false)
        IupSetInt(reset_help_timer,"RUN",true)
    end if

In reset_help_cb (via reset_help_timer):
    IupSetInt(main_help_menu,"ACTIVE",true)
    IupSetInt(reset_help_timer,"RUN",false)
--  IupSetFocus(canvas)         -- does not work
--  IupSetGlobal("KEY",K_ESC)   -- does not work
    if dumwin=NULL then dumwin=IupDialog(NULL) end if
    IupShow(dumwin)
    IupHide(dumwin)

The last two lines do produce a minor blip, but I can live with that.

My question is whether IupSetFocus and/or IupSetGlobal("KEY") should work 
in these circumstances (instead of dumwin)?

Pete

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Iup-users mailing list
Iup-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/iup-users

Reply via email to