(from <Someone>)
- added menu option to show/hide keypad window
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
Reference in New Issue
Block a user