(from <Someone>)
- added menu option to show/hide keypad window
This commit is contained in:
+6
-1
@@ -692,7 +692,12 @@ void CalculateCellSize(HWND hWnd, LPSIZE pSize)
|
|||||||
|
|
||||||
hdc = GetDC(hWnd);
|
hdc = GetDC(hWnd);
|
||||||
pSize->cx = (clrt.right - clrt.left)/NH_CMDPAD_COLS;
|
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);
|
ReleaseDC(hWnd, hdc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+31
-12
@@ -32,6 +32,7 @@ static void register_main_window_class();
|
|||||||
static void select_map_mode(int map_mode);
|
static void select_map_mode(int map_mode);
|
||||||
static int menuid2mapmode(int menuid);
|
static int menuid2mapmode(int menuid);
|
||||||
static int mapmode2menuid(int map_mode);
|
static int mapmode2menuid(int map_mode);
|
||||||
|
static HMENU _get_main_menu();
|
||||||
|
|
||||||
HWND mswin_init_main_window () {
|
HWND mswin_init_main_window () {
|
||||||
static int run_once = 0;
|
static int run_once = 0;
|
||||||
@@ -731,6 +732,17 @@ LRESULT onWMCommand(HWND hWnd, WPARAM wParam, LPARAM lParam)
|
|||||||
}
|
}
|
||||||
break;
|
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:
|
case IDM_HELP_LONG:
|
||||||
display_file(HELP, TRUE);
|
display_file(HELP, TRUE);
|
||||||
break;
|
break;
|
||||||
@@ -834,27 +846,16 @@ void mswin_select_map_mode(int mode)
|
|||||||
HMENU hmenuMap;
|
HMENU hmenuMap;
|
||||||
PNHMainWindow data;
|
PNHMainWindow data;
|
||||||
winid map_id;
|
winid map_id;
|
||||||
#ifndef WIN_CE_2xx
|
|
||||||
TBBUTTONINFO tbbi;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
map_id = WIN_MAP;
|
map_id = WIN_MAP;
|
||||||
data = (PNHMainWindow)GetWindowLong(GetNHApp()->hMainWnd, GWL_USERDATA);
|
data = (PNHMainWindow)GetWindowLong(GetNHApp()->hMainWnd, GWL_USERDATA);
|
||||||
|
hmenuMap = _get_main_menu();
|
||||||
|
|
||||||
/* override for Rogue level */
|
/* override for Rogue level */
|
||||||
#ifdef REINCARNATION
|
#ifdef REINCARNATION
|
||||||
if( Is_rogue_level(&u.uz) && !IS_MAP_ASCII(mode) ) return;
|
if( Is_rogue_level(&u.uz) && !IS_MAP_ASCII(mode) ) return;
|
||||||
#endif
|
#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 */
|
/* set map mode menu mark */
|
||||||
if( IS_MAP_ASCII(mode) ) {
|
if( IS_MAP_ASCII(mode) ) {
|
||||||
CheckMenuRadioItem(
|
CheckMenuRadioItem(
|
||||||
@@ -930,3 +931,21 @@ int mapmode2menuid(int map_mode)
|
|||||||
if(p->mapMode==map_mode ) return p->menuID;
|
if(p->mapMode==map_mode ) return p->menuID;
|
||||||
return -1;
|
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 ID_MAP 32797
|
||||||
#define IDS_CAP_AMP 32798
|
#define IDS_CAP_AMP 32798
|
||||||
#define IDS_CAP_MAP 32799
|
#define IDS_CAP_MAP 32799
|
||||||
|
#define IDM_VIEW_KEYPAD 32800
|
||||||
|
|
||||||
// Next default values for new objects
|
// Next default values for new objects
|
||||||
//
|
//
|
||||||
#ifdef APSTUDIO_INVOKED
|
#ifdef APSTUDIO_INVOKED
|
||||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||||
#define _APS_NEXT_RESOURCE_VALUE 148
|
#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_CONTROL_VALUE 1333
|
||||||
#define _APS_NEXT_SYMED_VALUE 110
|
#define _APS_NEXT_SYMED_VALUE 110
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
+14
-9
@@ -32,7 +32,7 @@ IDI_WINHACK ICON DISCARDABLE "NETHACK.ICO"
|
|||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// Menubar
|
// Menu
|
||||||
//
|
//
|
||||||
|
|
||||||
IDC_WINHACK MENU DISCARDABLE
|
IDC_WINHACK MENU DISCARDABLE
|
||||||
@@ -58,6 +58,10 @@ BEGIN
|
|||||||
MENUITEM SEPARATOR
|
MENUITEM SEPARATOR
|
||||||
MENUITEM "&Fit To Screen", IDM_MAP_FIT_TO_SCREEN
|
MENUITEM "&Fit To Screen", IDM_MAP_FIT_TO_SCREEN
|
||||||
END
|
END
|
||||||
|
POPUP "View"
|
||||||
|
BEGIN
|
||||||
|
MENUITEM "&Keypad", IDM_VIEW_KEYPAD
|
||||||
|
END
|
||||||
POPUP "Help"
|
POPUP "Help"
|
||||||
BEGIN
|
BEGIN
|
||||||
MENUITEM "&About ...", IDM_ABOUT
|
MENUITEM "&About ...", IDM_ABOUT
|
||||||
@@ -257,15 +261,11 @@ END
|
|||||||
// Data
|
// Data
|
||||||
//
|
//
|
||||||
|
|
||||||
IDC_WINHACK SHMENUBAR DISCARDABLE
|
IDC_WINHACK RCDATA DISCARDABLE
|
||||||
BEGIN
|
BEGIN
|
||||||
IDC_WINHACK, 3,
|
0x006d, 0x0003, 0xfffe, 0x8018, 0x0004, 0x0018, 0x8019, 0x0000, 0x0000,
|
||||||
I_IMAGENONE, ID_FILE, TBSTATE_ENABLED,
|
0xfffe, 0x801d, 0x0004, 0x0018, 0x801f, 0x0000, 0x0001, 0xfffe, 0x801a,
|
||||||
TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE, IDS_CAP_FILE, 0, 0,
|
0x0004, 0x0018, 0x801b, 0x0000, 0x0002
|
||||||
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,
|
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
@@ -333,6 +333,11 @@ BEGIN
|
|||||||
IDS_CAP_MAP "Map"
|
IDS_CAP_MAP "Map"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
STRINGTABLE DISCARDABLE
|
||||||
|
BEGIN
|
||||||
|
IDM_VIEW_KEYPAD "Show/Hide keypad."
|
||||||
|
END
|
||||||
|
|
||||||
#endif // English (U.S.) resources
|
#endif // English (U.S.) resources
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user