(from <Someone>)

- added menu option to show/hide keypad window
This commit is contained in:
nethack.allison
2002-07-24 00:21:52 +00:00
parent bdc6c965af
commit 822a633563
4 changed files with 53 additions and 23 deletions

View File

@@ -692,7 +692,12 @@ void CalculateCellSize(HWND hWnd, LPSIZE pSize)
hdc = GetDC(hWnd);
pSize->cx = (clrt.right - clrt.left)/NH_CMDPAD_COLS;
pSize->cy = max(pSize->cx, 10*GetDeviceCaps(hdc, LOGPIXELSY)/72);
pSize->cy = min(
max( pSize->cx,
10*GetDeviceCaps(hdc, LOGPIXELSY)/72 // minimum cell size - 10 points
),
20*GetDeviceCaps(hdc, LOGPIXELSY)/72 // maximum cell size - 20 points
);
ReleaseDC(hWnd, hdc);
}

View File

@@ -32,6 +32,7 @@ static void register_main_window_class();
static void select_map_mode(int map_mode);
static int menuid2mapmode(int menuid);
static int mapmode2menuid(int map_mode);
static HMENU _get_main_menu();
HWND mswin_init_main_window () {
static int run_once = 0;
@@ -731,6 +732,17 @@ LRESULT onWMCommand(HWND hWnd, WPARAM wParam, LPARAM lParam)
}
break;
case IDM_VIEW_KEYPAD:
GetNHApp()->bCmdPad = !GetNHApp()->bCmdPad;
CheckMenuItem(
_get_main_menu(),
IDM_VIEW_KEYPAD,
MF_BYCOMMAND |
(GetNHApp()->bCmdPad? MF_CHECKED : MF_UNCHECKED)
);
mswin_layout_main_window(data->hCmdWnd);
break;
case IDM_HELP_LONG:
display_file(HELP, TRUE);
break;
@@ -834,27 +846,16 @@ void mswin_select_map_mode(int mode)
HMENU hmenuMap;
PNHMainWindow data;
winid map_id;
#ifndef WIN_CE_2xx
TBBUTTONINFO tbbi;
#endif
map_id = WIN_MAP;
data = (PNHMainWindow)GetWindowLong(GetNHApp()->hMainWnd, GWL_USERDATA);
hmenuMap = _get_main_menu();
/* override for Rogue level */
#ifdef REINCARNATION
if( Is_rogue_level(&u.uz) && !IS_MAP_ASCII(mode) ) return;
#endif
#ifndef WIN_CE_2xx
tbbi.cbSize = sizeof(tbbi);
tbbi.dwMask = TBIF_LPARAM;
SendMessage( GetNHApp()->hMenuBar, TB_GETBUTTONINFO, ID_MAP, (LPARAM)&tbbi);
hmenuMap = (HMENU)tbbi.lParam;
#else
hmenuMap = CommandBar_GetMenu(GetNHApp()->hMenuBar, 0);
#endif
/* set map mode menu mark */
if( IS_MAP_ASCII(mode) ) {
CheckMenuRadioItem(
@@ -930,3 +931,21 @@ int mapmode2menuid(int map_mode)
if(p->mapMode==map_mode ) return p->menuID;
return -1;
}
HMENU _get_main_menu()
{
HMENU hmenuMap;
#ifndef WIN_CE_2xx
TBBUTTONINFO tbbi;
#endif
#ifndef WIN_CE_2xx
tbbi.cbSize = sizeof(tbbi);
tbbi.dwMask = TBIF_LPARAM;
SendMessage( GetNHApp()->hMenuBar, TB_GETBUTTONINFO, ID_MAP, (LPARAM)&tbbi);
hmenuMap = (HMENU)tbbi.lParam;
#else
hmenuMap = CommandBar_GetMenu(GetNHApp()->hMenuBar, 0);
#endif
return hmenuMap;
}

View File

@@ -137,13 +137,14 @@
#define ID_MAP 32797
#define IDS_CAP_AMP 32798
#define IDS_CAP_MAP 32799
#define IDM_VIEW_KEYPAD 32800
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 148
#define _APS_NEXT_COMMAND_VALUE 32800
#define _APS_NEXT_COMMAND_VALUE 32801
#define _APS_NEXT_CONTROL_VALUE 1333
#define _APS_NEXT_SYMED_VALUE 110
#endif

View File

@@ -32,7 +32,7 @@ IDI_WINHACK ICON DISCARDABLE "NETHACK.ICO"
/////////////////////////////////////////////////////////////////////////////
//
// Menubar
// Menu
//
IDC_WINHACK MENU DISCARDABLE
@@ -58,6 +58,10 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "&Fit To Screen", IDM_MAP_FIT_TO_SCREEN
END
POPUP "View"
BEGIN
MENUITEM "&Keypad", IDM_VIEW_KEYPAD
END
POPUP "Help"
BEGIN
MENUITEM "&About ...", IDM_ABOUT
@@ -257,15 +261,11 @@ END
// Data
//
IDC_WINHACK SHMENUBAR DISCARDABLE
IDC_WINHACK RCDATA DISCARDABLE
BEGIN
IDC_WINHACK, 3,
I_IMAGENONE, ID_FILE, TBSTATE_ENABLED,
TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE, IDS_CAP_FILE, 0, 0,
I_IMAGENONE, ID_MAP, TBSTATE_ENABLED,
TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE, IDS_CAP_MAP, 0, 1,
I_IMAGENONE, ID_HELP, TBSTATE_ENABLED,
TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE, IDS_CAP_HELP, 0, 2,
0x006d, 0x0003, 0xfffe, 0x8018, 0x0004, 0x0018, 0x8019, 0x0000, 0x0000,
0xfffe, 0x801d, 0x0004, 0x0018, 0x801f, 0x0000, 0x0001, 0xfffe, 0x801a,
0x0004, 0x0018, 0x801b, 0x0000, 0x0002
END
@@ -333,6 +333,11 @@ BEGIN
IDS_CAP_MAP "Map"
END
STRINGTABLE DISCARDABLE
BEGIN
IDM_VIEW_KEYPAD "Show/Hide keypad."
END
#endif // English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////