Changeset 1080

Show
Ignore:
Timestamp:
07/19/08 23:55:14 (7 weeks ago)
Author:
jbs
Message:

Ticket 197: Support accelerator keys in setting dialogs.

Location:
trunk/dll
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • trunk/dll/fm3res.dlg

    r1043 r1080  
    3333  29 Feb 08 GKY Changes to enable user settable command line length 
    3434  29 Feb 08 GKY Add presparams & update appearence of "Sizes" dialog 
     35  19 Jul 08 JBS Ticket 197: Support accelerator keys in setting dialogs. 
    3536 
    3637***********************************************************************/ 
     
    13881389BEGIN 
    13891390    DIALOG  "FM/2:  Configuration", CFG_FRAME, 12, 6, 346, 204, WS_VISIBLE | 
    1390             NOT WS_SAVEBITS, FCF_TITLEBAR 
     1391            NOT WS_SAVEBITS, FCF_TITLEBAR | FCF_ACCELTABLE 
    13911392    BEGIN 
    13921393        CONTROL         "", CFG_NOTEBOOK, 4, 20, 336, 182, WC_NOTEBOOK, 
  • trunk/dll/fm3res.rc

    r1071 r1080  
    3535  14 Jul 08 JBS Ticket 126: Add support for WPS open default & open settings in arccnrs 
    3636  17 Jul 08 JBS Corrected a typo on the "Save state" context menu 
     37  19 Jul 08 JBS Ticket 197: Support accelerator keys in setting dialogs. 
    3738 
    3839***********************************************************************/ 
     
    23032304} 
    23042305 
     2306ACCELTABLE  CFG_FRAME 
     2307{ 
     2308  VK_F3,      DID_OK,                 VIRTUALKEY 
     2309  VK_ENTER,   DID_OK,                 VIRTUALKEY 
     2310  VK_NEWLINE, DID_OK,                 VIRTUALKEY 
     2311  VK_ESC,     DID_CANCEL,             VIRTUALKEY 
     2312} 
     2313 
    23052314HELPTABLE ID_HELPTABLE 
    23062315{ 
  • trunk/dll/notebook.c

    r1065 r1080  
    3636                all the details view settings (both the global variables and those in the 
    3737                DIRCNRDATA struct) into a new struct: DETAILS_SETTINGS. 
     38  19 Jul 08 JBS Ticket 197: Support accelerator keys in setting dialogs. 
    3839 
    3940***********************************************************************/ 
     
    7677    WinEnableWindow(WinWindowFromID(hwnd, CFGA_FIND), FALSE); 
    7778    PostMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 
     79    break; 
     80 
     81  case WM_HELP: 
     82    PostMsg(hwnd, WM_COMMAND, (MPARAM)IDM_HELP, mp2); 
     83    break; 
     84 
     85  case WM_CHAR: 
     86    if (CHARMSG(&msg)->fs & KC_VIRTUALKEY) { 
     87      switch (CHARMSG(&msg)->vkey) { 
     88        case VK_F3: 
     89        case VK_ENTER: 
     90        case VK_NEWLINE: 
     91          PostMsg(hwnd, WM_COMMAND, (MPARAM)DID_OK, MPVOID); 
     92          return 0; 
     93          break; 
     94        case VK_ESC: 
     95          PostMsg(hwnd, WM_COMMAND, (MPARAM)DID_CANCEL, MPVOID); 
     96          return 0; 
     97          break; 
     98        case VK_F1: 
     99          PostMsg(hwnd, WM_COMMAND, (MPARAM)IDM_HELP, MPVOID); 
     100          return 0; 
     101          break; 
     102      } 
     103    } 
    78104    break; 
    79105 
     
    278304MRESULT EXPENTRY CfgSDlgProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) 
    279305{ 
     306 
    280307  switch (msg) { 
    281308  case WM_INITDLG: 
     
    285312                      MPFROMLONG(FILESTOGET_MAX), MPFROMLONG(FILESTOGET_MIN)); 
    286313    PostMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 
     314    break; 
     315 
     316  case WM_HELP: 
     317    PostMsg(hwnd, WM_COMMAND, (MPARAM)IDM_HELP, mp2); 
     318    break; 
     319 
     320  case WM_CHAR: 
     321    if (CHARMSG(&msg)->fs & KC_VIRTUALKEY) { 
     322      switch (CHARMSG(&msg)->vkey) { 
     323        case VK_F3: 
     324        case VK_ENTER: 
     325        case VK_NEWLINE: 
     326          PostMsg(hwnd, WM_COMMAND, (MPARAM)DID_OK, MPVOID); 
     327          return 0; 
     328          break; 
     329        case VK_ESC: 
     330          PostMsg(hwnd, WM_COMMAND, (MPARAM)DID_CANCEL, MPVOID); 
     331          return 0; 
     332          break; 
     333        case VK_F1: 
     334          PostMsg(hwnd, WM_COMMAND, (MPARAM)IDM_HELP, MPVOID); 
     335          return 0; 
     336          break; 
     337      } 
     338    } 
    287339    break; 
    288340 
     
    388440MRESULT EXPENTRY CfgVDlgProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) 
    389441{ 
     442 
    390443  switch (msg) { 
    391444  case WM_INITDLG: 
     
    400453    WinEnableWindow(WinWindowFromID(hwnd, CFGV_FIND), FALSE); 
    401454    PostMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 
     455    break; 
     456 
     457  case WM_HELP: 
     458    PostMsg(hwnd, WM_COMMAND, (MPARAM)IDM_HELP, mp2); 
     459    break; 
     460 
     461  case WM_CHAR: 
     462    if (CHARMSG(&msg)->fs & KC_VIRTUALKEY) { 
     463      switch (CHARMSG(&msg)->vkey) { 
     464        case VK_F3: 
     465        case VK_ENTER: 
     466        case VK_NEWLINE: 
     467          PostMsg(hwnd, WM_COMMAND, (MPARAM)DID_OK, MPVOID); 
     468          return 0; 
     469          break; 
     470        case VK_ESC: 
     471          PostMsg(hwnd, WM_COMMAND, (MPARAM)DID_CANCEL, MPVOID); 
     472          return 0; 
     473          break; 
     474        case VK_F1: 
     475          PostMsg(hwnd, WM_COMMAND, (MPARAM)IDM_HELP, MPVOID); 
     476          return 0; 
     477          break; 
     478      } 
     479    } 
    402480    break; 
    403481 
     
    577655    WinEnableWindow(WinWindowFromID(hwnd, CFGH_FIND), FALSE); 
    578656    PostMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 
     657    break; 
     658 
     659  case WM_HELP: 
     660    PostMsg(hwnd, WM_COMMAND, (MPARAM)IDM_HELP, mp2); 
     661    break; 
     662 
     663  case WM_CHAR: 
     664    if (CHARMSG(&msg)->fs & KC_VIRTUALKEY) { 
     665      switch (CHARMSG(&msg)->vkey) { 
     666        case VK_F3: 
     667        case VK_ENTER: 
     668        case VK_NEWLINE: 
     669          PostMsg(hwnd, WM_COMMAND, (MPARAM)DID_OK, MPVOID); 
     670          return 0; 
     671          break; 
     672        case VK_ESC: 
     673          PostMsg(hwnd, WM_COMMAND, (MPARAM)DID_CANCEL, MPVOID); 
     674          return 0; 
     675          break; 
     676        case VK_F1: 
     677          PostMsg(hwnd, WM_COMMAND, (MPARAM)IDM_HELP, MPVOID); 
     678          return 0; 
     679          break; 
     680      } 
     681    } 
    579682    break; 
    580683 
     
    781884    return 0; 
    782885 
     886  case WM_HELP: 
     887    PostMsg(hwnd, WM_COMMAND, (MPARAM)IDM_HELP, mp2); 
     888    break; 
     889 
     890  case WM_CHAR: 
     891    if (CHARMSG(&msg)->fs & KC_VIRTUALKEY) { 
     892      switch (CHARMSG(&msg)->vkey) { 
     893        case VK_F3: 
     894        case VK_ENTER: 
     895        case VK_NEWLINE: 
     896          PostMsg(hwnd, WM_COMMAND, (MPARAM)DID_OK, MPVOID); 
     897          return 0; 
     898          break; 
     899        case VK_ESC: 
     900          PostMsg(hwnd, WM_COMMAND, (MPARAM)DID_CANCEL, MPVOID); 
     901          return 0; 
     902          break; 
     903        case VK_F1: 
     904          PostMsg(hwnd, WM_COMMAND, (MPARAM)IDM_HELP, MPVOID); 
     905          return 0; 
     906          break; 
     907      } 
     908    } 
     909    break; 
     910 
    783911  case WM_COMMAND: 
    784912    switch (SHORT1FROMMP(mp1)) { 
     
    828956                      EM_SETTEXTLIMIT, MPFROM2SHORT(CCHMAXPATH, 0), MPVOID); 
    829957    PostMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 
     958    break; 
     959 
     960  case WM_HELP: 
     961    PostMsg(hwnd, WM_COMMAND, (MPARAM)IDM_HELP, mp2); 
     962    break; 
     963 
     964  case WM_CHAR: 
     965    if (CHARMSG(&msg)->fs & KC_VIRTUALKEY) { 
     966      switch (CHARMSG(&msg)->vkey) { 
     967        case VK_F3: 
     968        case VK_ENTER: 
     969        case VK_NEWLINE: 
     970          PostMsg(hwnd, WM_COMMAND, (MPARAM)DID_OK, MPVOID); 
     971          return 0; 
     972          break; 
     973        case VK_ESC: 
     974          PostMsg(hwnd, WM_COMMAND, (MPARAM)DID_CANCEL, MPVOID); 
     975          return 0; 
     976          break; 
     977        case VK_F1: 
     978          PostMsg(hwnd, WM_COMMAND, (MPARAM)IDM_HELP, MPVOID); 
     979          return 0; 
     980          break; 
     981      } 
     982    } 
    830983    break; 
    831984 
     
    10311184    return 0; 
    10321185 
     1186  case WM_HELP: 
     1187    PostMsg(hwnd, WM_COMMAND, (MPARAM)IDM_HELP, mp2); 
     1188    break; 
     1189 
     1190  case WM_CHAR: 
     1191    if (CHARMSG(&msg)->fs & KC_VIRTUALKEY) { 
     1192      switch (CHARMSG(&msg)->vkey) { 
     1193        case VK_F3: 
     1194        case VK_ENTER: 
     1195        case VK_NEWLINE: 
     1196          PostMsg(hwnd, WM_COMMAND, (MPARAM)DID_OK, MPVOID); 
     1197          return 0; 
     1198          break; 
     1199        case VK_ESC: 
     1200          PostMsg(hwnd, WM_COMMAND, (MPARAM)DID_CANCEL, MPVOID); 
     1201          return 0; 
     1202          break; 
     1203        case VK_F1: 
     1204          PostMsg(hwnd, WM_COMMAND, (MPARAM)IDM_HELP, MPVOID); 
     1205          return 0; 
     1206          break; 
     1207      } 
     1208    } 
     1209    break; 
     1210 
    10331211  case WM_COMMAND: 
    10341212    switch (SHORT1FROMMP(mp1)) { 
     
    10981276                      MPFROMLONG(CMDLNLNGTH_MAX), MPFROMLONG(CMDLNLNGTH_MIN)); 
    10991277    PostMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 
     1278    break; 
     1279 
     1280  case WM_HELP: 
     1281    PostMsg(hwnd, WM_COMMAND, (MPARAM)IDM_HELP, mp2); 
     1282    break; 
     1283 
     1284  case WM_CHAR: 
     1285    if (CHARMSG(&msg)->fs & KC_VIRTUALKEY) { 
     1286      switch (CHARMSG(&msg)->vkey) { 
     1287        case VK_F3: 
     1288        case VK_ENTER: 
     1289        case VK_NEWLINE: 
     1290          PostMsg(hwnd, WM_COMMAND, (MPARAM)DID_OK, MPVOID); 
     1291          return 0; 
     1292          break; 
     1293        case VK_ESC: 
     1294          PostMsg(hwnd, WM_COMMAND, (MPARAM)DID_CANCEL, MPVOID); 
     1295          return 0; 
     1296          break; 
     1297        case VK_F1: 
     1298          PostMsg(hwnd, WM_COMMAND, (MPARAM)IDM_HELP, MPVOID); 
     1299          return 0; 
     1300          break; 
     1301      } 
     1302    } 
    11001303    break; 
    11011304 
     
    12551458    break; 
    12561459 
     1460  case WM_HELP: 
     1461    PostMsg(hwnd, WM_COMMAND, (MPARAM)IDM_HELP, mp2); 
     1462    break; 
     1463 
     1464  case WM_CHAR: 
     1465    if (CHARMSG(&msg)->fs & KC_VIRTUALKEY) { 
     1466      switch (CHARMSG(&msg)->vkey) { 
     1467        case VK_F3: 
     1468        case VK_ENTER: 
     1469        case VK_NEWLINE: 
     1470          PostMsg(hwnd, WM_COMMAND, (MPARAM)DID_OK, MPVOID); 
     1471          return 0; 
     1472          break; 
     1473        case VK_ESC: 
     1474          PostMsg(hwnd, WM_COMMAND, (MPARAM)DID_CANCEL, MPVOID); 
     1475          return 0; 
     1476          break; 
     1477        case VK_F1: 
     1478          PostMsg(hwnd, WM_COMMAND, (MPARAM)IDM_HELP, MPVOID); 
     1479          return 0; 
     1480          break; 
     1481      } 
     1482    } 
     1483    break; 
     1484 
    12571485  case UM_UNDO: 
    12581486    WinSetDlgItemText(hwnd, CFGC_COMPARE, compare); 
     
    13741602MRESULT EXPENTRY CfgDDlgProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) 
    13751603{ 
     1604 
    13761605  switch (msg) { 
    13771606  case WM_INITDLG: 
     
    13931622    WinCheckButton(hwnd, CFGD_NOFOLDMENU, fNoFoldMenu); 
    13941623    return 0; 
     1624 
     1625  case WM_HELP: 
     1626    PostMsg(hwnd, WM_COMMAND, (MPARAM)IDM_HELP, mp2); 
     1627    break; 
     1628 
     1629  case WM_CHAR: 
     1630    if (CHARMSG(&msg)->fs & KC_VIRTUALKEY) { 
     1631      switch (CHARMSG(&msg)->vkey) { 
     1632        case VK_F3: 
     1633        case VK_ENTER: 
     1634        case VK_NEWLINE: 
     1635          PostMsg(hwnd, WM_COMMAND, (MPARAM)DID_OK, MPVOID); 
     1636          return 0; 
     1637          break; 
     1638        case VK_ESC: 
     1639          PostMsg(hwnd, WM_COMMAND, (MPARAM)DID_CANCEL, MPVOID); 
     1640          return 0; 
     1641          break; 
     1642        case VK_F1: 
     1643          PostMsg(hwnd, WM_COMMAND, (MPARAM)IDM_HELP, MPVOID); 
     1644          return 0; 
     1645          break; 
     1646      } 
     1647    } 
     1648    break; 
    13951649 
    13961650  case WM_COMMAND: 
     
    14761730  case WM_INITDLG: 
    14771731    PostMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 
     1732    break; 
     1733 
     1734  case WM_HELP: 
     1735    PostMsg(hwnd, WM_COMMAND, (MPARAM)IDM_HELP, mp2); 
     1736    break; 
     1737 
     1738  case WM_CHAR: 
     1739    if (CHARMSG(&msg)->fs & KC_VIRTUALKEY) { 
     1740      switch (CHARMSG(&msg)->vkey) { 
     1741        case VK_F3: 
     1742        case VK_ENTER: 
     1743        case VK_NEWLINE: 
     1744          PostMsg(hwnd, WM_COMMAND, (MPARAM)DID_OK, MPVOID); 
     1745          return 0; 
     1746          break; 
     1747        case VK_ESC: 
     1748          PostMsg(hwnd, WM_COMMAND, (MPARAM)DID_CANCEL, MPVOID); 
     1749          return 0; 
     1750          break; 
     1751        case VK_F1: 
     1752          PostMsg(hwnd, WM_COMMAND, (MPARAM)IDM_HELP, MPVOID); 
     1753          return 0; 
     1754          break; 
     1755      } 
     1756    } 
    14781757    break; 
    14791758 
     
    17011980                      EM_SETTEXTLIMIT, MPFROM2SHORT(CCHMAXPATH, 0), MPVOID); 
    17021981    PostMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 
     1982    break; 
     1983 
     1984  case WM_HELP: 
     1985    PostMsg(hwnd, WM_COMMAND, (MPARAM)IDM_HELP, mp2); 
     1986    break; 
     1987 
     1988  case WM_CHAR: 
     1989    if (CHARMSG(&msg)->fs & KC_VIRTUALKEY) { 
     1990      switch (CHARMSG(&msg)->vkey) { 
     1991        case VK_F3: 
     1992        case VK_ENTER: 
     1993        case VK_NEWLINE: 
     1994          PostMsg(hwnd, WM_COMMAND, (MPARAM)DID_OK, MPVOID); 
     1995          return 0; 
     1996          break; 
     1997        case VK_ESC: 
     1998          PostMsg(hwnd, WM_COMMAND, (MPARAM)DID_CANCEL, MPVOID); 
     1999          return 0; 
     2000          break; 
     2001        case VK_F1: 
     2002          PostMsg(hwnd, WM_COMMAND, (MPARAM)IDM_HELP, MPVOID); 
     2003          return 0; 
     2004          break; 
     2005      } 
     2006    } 
    17032007    break; 
    17042008 
     
    18922196    break; 
    18932197 
     2198  case WM_HELP: 
     2199    PostMsg(hwnd, WM_COMMAND, (MPARAM)IDM_HELP, mp2); 
     2200    break; 
     2201 
     2202  case WM_CHAR: 
     2203    if (CHARMSG(&msg)->fs & KC_VIRTUALKEY) { 
     2204      switch (CHARMSG(&msg)->vkey) { 
     2205        case VK_F3: 
     2206        case VK_ENTER: 
     2207        case VK_NEWLINE: 
     2208          PostMsg(hwnd, WM_COMMAND, (MPARAM)DID_OK, MPVOID); 
     2209          return 0; 
     2210          break; 
     2211        case VK_ESC: 
     2212          PostMsg(hwnd, WM_COMMAND, (MPARAM)DID_CANCEL, MPVOID); 
     2213          return 0; 
     2214          break; 
     2215        case VK_F1: 
     2216          PostMsg(hwnd, WM_COMMAND, (MPARAM)IDM_HELP, MPVOID); 
     2217          return 0; 
     2218          break; 
     2219      } 
     2220    } 
     2221    break; 
     2222 
    18942223  case UM_UNDO: 
    18952224    WinCheckButton(hwnd, CFG6_SORTFIRST, FALSE); 
     
    20172346                      MPFROM2SHORT(CCHMAXPATH, 0), MPVOID); 
    20182347    PostMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 
     2348    break; 
     2349 
     2350  case WM_HELP: 
     2351    PostMsg(hwnd, WM_COMMAND, (MPARAM)IDM_HELP, mp2); 
     2352    break; 
     2353 
     2354  case WM_CHAR: 
     2355    if (CHARMSG(&msg)->fs & KC_VIRTUALKEY) { 
     2356      switch (CHARMSG(&msg)->vkey) { 
     2357        case VK_F3: 
     2358        case VK_ENTER: 
     2359        case VK_NEWLINE: 
     2360          PostMsg(hwnd, WM_COMMAND, (MPARAM)DID_OK, MPVOID); 
     2361          return 0; 
     2362          break; 
     2363        case VK_ESC: 
     2364          PostMsg(hwnd, WM_COMMAND, (MPARAM)DID_CANCEL, MPVOID); 
     2365          return 0; 
     2366          break; 
     2367        case VK_F1: 
     2368          PostMsg(hwnd, WM_COMMAND, (MPARAM)IDM_HELP, MPVOID); 
     2369          return 0; 
     2370          break; 
     2371      } 
     2372    } 
    20192373    break; 
    20202374 
     
    22272581    break; 
    22282582 
     2583  case WM_HELP: 
     2584    PostMsg(hwnd, WM_COMMAND, (MPARAM)IDM_HELP, mp2); 
     2585    break; 
     2586 
     2587  case WM_CHAR: 
     2588    if (CHARMSG(&msg)->fs & KC_VIRTUALKEY) { 
     2589      switch (CHARMSG(&msg)->vkey) { 
     2590        case VK_F3: 
     2591        case VK_ENTER: 
     2592        case VK_NEWLINE: 
     2593          PostMsg(hwnd, WM_COMMAND, (MPARAM)DID_OK, MPVOID); 
     2594          return 0; 
     2595          break; 
     2596        case VK_ESC: 
     2597          PostMsg(hwnd, WM_COMMAND, (MPARAM)DID_CANCEL, MPVOID); 
     2598          return 0; 
     2599          break; 
     2600        case VK_F1: 
     2601          PostMsg(hwnd, WM_COMMAND, (MPARAM)IDM_HELP, MPVOID); 
     2602          return 0; 
     2603          break; 
     2604      } 
     2605    } 
     2606    break; 
     2607 
    22292608  case UM_UNDO: 
    22302609    WinCheckButton(hwnd, CFG6_SORTFIRST, FALSE); 
     
    23452724  switch (msg) { 
    23462725  case WM_INITDLG: 
     2726    break; 
     2727 
     2728  case WM_HELP: 
     2729    PostMsg(hwnd, WM_COMMAND, (MPARAM)IDM_HELP, mp2); 
     2730    break; 
     2731 
     2732  case WM_CHAR: 
     2733    if (CHARMSG(&msg)->fs & KC_VIRTUALKEY) { 
     2734      switch (CHARMSG(&msg)->vkey) { 
     2735        case VK_F3: 
     2736        case VK_ENTER: 
     2737        case VK_NEWLINE: 
     2738          PostMsg(hwnd, WM_COMMAND, (MPARAM)DID_OK, MPVOID); 
     2739          return 0; 
     2740          break; 
     2741        case VK_ESC: 
     2742          PostMsg(hwnd, WM_COMMAND, (MPARAM)DID_CANCEL, MPVOID); 
     2743          return 0; 
     2744          break; 
     2745        case VK_F1: 
     2746          PostMsg(hwnd, WM_COMMAND, (MPARAM)IDM_HELP, MPVOID); 
     2747          return 0; 
     2748          break; 
     2749      } 
     2750    } 
    23472751    break; 
    23482752 
     
    30483452  ULONG ulPageId; 
    30493453  UINT uPageIndex; 
     3454  HAB hab; 
     3455  static HACCEL haccelCfg = NULLHANDLE; 
    30503456 
    30513457  switch (msg) { 
     
    30533459    hwndNotebook = hwnd; 
    30543460    uPageIndex = 0; 
     3461    hab = WinQueryAnchorBlock(hwnd); 
     3462    if (haccelCfg == NULLHANDLE) { 
     3463      haccelCfg = WinLoadAccelTable(hab, FM3ModHandle, CFG_FRAME); 
     3464      if (haccelCfg == NULLHANDLE) 
     3465        Win_Error(hwndNotebook, HWND_DESKTOP, pszSrcFile, __LINE__, "WinLoadAccelTable"); 
     3466    } 
     3467    if (haccelCfg != NULLHANDLE) { 
     3468      if (!WinSetAccelTable(hab, haccelCfg, hwndNotebook)) 
     3469        Win_Error(hwndNotebook, HWND_DESKTOP, pszSrcFile, __LINE__, "WinSetAccelTable"); 
     3470      // else 
     3471        // DbgMsg(pszSrcFile, __LINE__, "WinSetAccelTable MAIN_DRIVELIST %x %x", hwndFrame, haccelDriveList); 
     3472    } 
    30553473 
    30563474    // If generic call, try to find conditional cascade default 
     
    31323550                          MPFROMLONG(np[x].ulPageId), 
    31333551                          MPFROMP(GetPString(np[x].ulTitle + 1))); 
     3552                         
    31343553        if (LONGFROMMP(mp2) == np[x].usMenuId) 
    31353554          uPageIndex = x;               // Remember selected page 
     
    31733592    WinSetActiveWindow(HWND_DESKTOP, hwnd); 
    31743593    return 0; 
     3594 
     3595  case WM_HELP: 
     3596    PostMsg(hwnd, WM_COMMAND, (MPARAM)IDM_HELP, mp2); 
     3597    break; 
     3598 
     3599  case WM_CHAR: 
     3600    if (CHARMSG(&msg)->fs & KC_VIRTUALKEY) { 
     3601      switch (CHARMSG(&msg)->vkey) { 
     3602        case VK_F3: 
     3603        case VK_ENTER: 
     3604        case VK_NEWLINE: 
     3605          PostMsg(hwnd, WM_COMMAND, (MPARAM)DID_OK, MPVOID); 
     3606          return 0; 
     3607          break; 
     3608        case VK_ESC: 
     3609          PostMsg(hwnd, WM_COMMAND, (MPARAM)DID_CANCEL, MPVOID); 
     3610          return 0; 
     3611          break; 
     3612        case VK_F1: 
     3613          PostMsg(hwnd, WM_COMMAND, (MPARAM)IDM_HELP, MPVOID); 
     3614          return 0; 
     3615          break; 
     3616      } 
     3617    } 
     3618    break; 
    31753619 
    31763620  case WM_COMMAND: