You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
216 lines
7.8 KiB
216 lines
7.8 KiB
//////////////////////////////////////////////////////////////////
|
|
// File : resmain.cpp
|
|
// Purpose : IMEPad's neutral resource &
|
|
// Help API.
|
|
//
|
|
//
|
|
// Date : Thu May 20 20:58:06 1999
|
|
// Author : toshiak
|
|
//
|
|
// Copyright(c) 1995-1999, Microsoft Corp. All rights reserved
|
|
//////////////////////////////////////////////////////////////////
|
|
#include <windows.h>
|
|
#include <windowsx.h>
|
|
#include "resource.h"
|
|
#include "cmddef.h"
|
|
#include "padhelp.h"
|
|
//#include "../common/cutil.h"
|
|
#include "resmain.h"
|
|
#include "common.h"
|
|
// Safe String
|
|
#define STRSAFE_NO_DEPRECATE
|
|
#include "strsafe.h"
|
|
|
|
//----------------------------------------------------------------
|
|
//Helpfile name
|
|
//----------------------------------------------------------------
|
|
#define TSZ_HTMLHELP_FILE_KOR TEXT("impdko61.chm") //Helpfile for Htmlhelp
|
|
#define TSZ_HTMLHELP_FILE_ENG TEXT("korpaden.chm") //Helpfile for Htmlhelp
|
|
#define TSZ_WMHELP_FILE TEXT("imkr61.hlp") // IME Pad Context Help. Kor only.
|
|
|
|
//----------------------------------------------------------------
|
|
//HelpId table
|
|
//----------------------------------------------------------------
|
|
static INT g_helpIdList[]={
|
|
IDC_KBTN_BACKSPACE, IDH_PAD_BASE_BASIC_BS,
|
|
IDC_KBTN_DELETE, IDH_PAD_BASE_BASIC_DEL,
|
|
IDC_KBTN_FAREAST, IDH_PAD_BASE_BASIC_CONV,
|
|
IDC_KBTN_ENTER, IDH_PAD_BASE_BASIC_ENTER,
|
|
IDC_KBTN_SPACE, IDH_PAD_BASE_BASIC_SPACE,
|
|
IDC_KBTN_ESCAPE, IDH_PAD_BASE_BASIC_ESC,
|
|
IDC_KBTN_ARROWS, IDH_PAD_BASE_BASIC_LEFT,
|
|
IDC_KBTN_ARROW_LEFT, IDH_PAD_BASE_BASIC_LEFT,
|
|
IDC_KBTN_ARROW_RIGHT,IDH_PAD_BASE_BASIC_RIGHT,
|
|
IDC_KBTN_ARROW_UP, IDH_PAD_BASE_BASIC_UP,
|
|
IDC_KBTN_ARROW_DOWN, IDH_PAD_BASE_BASIC_DOWN,
|
|
IDC_KBTN_HOME, IDH_PAD_BASE_EX_HOME,
|
|
IDC_KBTN_END, IDH_PAD_BASE_EX_END,
|
|
IDC_KBTN_PAGEUP, IDH_PAD_BASE_EX_PGUP,
|
|
IDC_KBTN_PAGEDOWN, IDH_PAD_BASE_EX_PGDN,
|
|
IDC_KBTN_TAB, IDH_PAD_BASE_EX_TAB,
|
|
IDC_KBTN_INSERT, IDH_PAD_BASE_EX_INS,
|
|
IDC_KBTN_LWIN, IDH_PAD_BASE_EX_WINDOWS,
|
|
IDC_KBTN_APPKEY, IDH_PAD_BASE_EX_APP,
|
|
|
|
//IMEPad's property dialog's Popup-help.
|
|
IDC_CFG_GEN_BASIC_BUTTONS, IDH_PAD_PROPERTY_BASIC,
|
|
IDC_CFG_GEN_EXTEND_BUTTONS, IDH_PAD_PROPERTY_EX,
|
|
IDC_CFG_GEN_BUTTON_POSITION, IDH_PAD_PROPERTY_POS,
|
|
IDC_CFG_GEN_MENU_LANGUAGE, IDH_PAD_PROPERTY_LANG,
|
|
IDC_CFG_GEN_BUTTON_OK, IDH_PAD_PROPERTY_OK,
|
|
IDC_CFG_GEN_BUTTON_CANCEL, IDH_PAD_PROPERTY_CANCEL,
|
|
IDC_CFG_GEN_BUTTON_HELP, IDH_PAD_PROPERTY_HELP,
|
|
|
|
//IMEPad's user configu dialog's Popup-help.
|
|
IDC_CFG_CHGMENU_APPLETS, 0,
|
|
IDC_CFG_CHGMENU_CURAPPLETS, 0,
|
|
IDC_CFG_CHGMENU_CLOSE, IDH_PAD_USER_CLOSE,
|
|
IDC_CFG_CHGMENU_RESET, IDH_PAD_USER_RESET,
|
|
IDC_CFG_CHGMENU_ADD, IDH_PAD_USER_ADD,
|
|
IDC_CFG_CHGMENU_DELETE, IDH_PAD_USER_REMOVE,
|
|
IDC_CFG_CHGMENU_UP, IDH_PAD_USER_UP,
|
|
IDC_CFG_CHGMENU_DOWN, IDH_PAD_USER_DOWN,
|
|
0, 0,
|
|
};
|
|
|
|
//////////////////////////////////////////////////////////////////
|
|
// Function : PadHelp_HandleHelp
|
|
// Type : INT WINAPI
|
|
// Purpose :
|
|
// Args :
|
|
// : HWND hwnd
|
|
// : INT padHelpIndex
|
|
// : LANGID imepadUiLangID
|
|
// Return :
|
|
// DATE : Fri Aug 04 08:59:21 2000
|
|
// Histroy : Fri Aug 04 09:03:17 2000
|
|
// # Add imepadUiLangID.
|
|
//////////////////////////////////////////////////////////////////
|
|
INT WINAPI
|
|
PadHelp_HandleHelp(HWND hwnd, INT padHelpIndex, LANGID imepadUiLangID)
|
|
{
|
|
TCHAR tszPath[MAX_PATH];
|
|
TCHAR tszFile[MAX_PATH];
|
|
BOOL fKoreanEnv = (imepadUiLangID == MAKELANGID(LANG_KOREAN, SUBLANG_DEFAULT)) ? TRUE : FALSE;
|
|
|
|
tszPath[0] = (TCHAR)0x00;
|
|
tszFile[0] = (TCHAR)0x00;
|
|
// There is No Korean TS NT4.0
|
|
#if 0
|
|
//----------------------------------------------------------------
|
|
//In WinNT4.0 TerminalServer, htmlhlp has bug.
|
|
//have to set absolute HTML helpfile path to it
|
|
//----------------------------------------------------------------
|
|
if(CUtil::IsHydra() && CUtil::IsWinNT4()) {
|
|
INT size = CUtil::GetWINDIR(tszFile, sizeof(tszFile)/sizeof(tszFile[0]));
|
|
tszFile[size] = (TCHAR)0x00;
|
|
lstrcat(tszFile, TEXT("\\help\\"));
|
|
lstrcat(tszFile, fKoreanEnv ? TSZ_HTMLHELP_FILE_KOR : TSZ_HTMLHELP_FILE_ENG);
|
|
}
|
|
else {
|
|
lstrcpy(tszFile, fKoreanEnv ? TSZ_HTMLHELP_FILE_KOR : TSZ_HTMLHELP_FILE_ENG);
|
|
}
|
|
#endif
|
|
StringCchCopy(tszFile, ARRAYSIZE(tszFile), fKoreanEnv ? TSZ_HTMLHELP_FILE_KOR : TSZ_HTMLHELP_FILE_ENG);
|
|
|
|
switch(padHelpIndex) {
|
|
case PADHELPINDEX_MAIN:
|
|
case PADHELPINDEX_APPLETMENUCHANGE:
|
|
wsprintf(tszPath, TEXT("hh.exe %s"), tszFile);
|
|
break;
|
|
case PADHELPINDEX_PROPERTY:
|
|
wsprintf(tszPath, TEXT("hh.exe %s::/howIMETopic166_ChangetheIMEPadOperatingEnvironment.htm"), tszFile);
|
|
break;
|
|
|
|
#if 0
|
|
case PADHELPINDEX_RESERVED1:
|
|
wsprintf(tszPath, TEXT("hh.exe %s::/IDH_TOC_IMEPAD_fake.htm"), tszFile);
|
|
break;
|
|
case PADHELPINDEX_RESERVED2:
|
|
wsprintf(tszPath, TEXT("hh.exe %s::/IDH_TOC_IMEPAD_fake.htm"), tszFile);
|
|
break;
|
|
#endif
|
|
default:
|
|
return -1;
|
|
}
|
|
#ifndef UNDER_CE
|
|
::WinExec(tszPath, SW_SHOWNORMAL);
|
|
#else
|
|
#pragma message("Not Implemented yet!!")
|
|
#endif
|
|
return 0;
|
|
UNREFERENCED_PARAMETER(hwnd);
|
|
UNREFERENCED_PARAMETER(imepadUiLangID);
|
|
}
|
|
|
|
//////////////////////////////////////////////////////////////////
|
|
// Function : PadHelp_HandleContextPopup
|
|
// Type : INT WINAPI
|
|
// Purpose : Invoke Popup Help.
|
|
// ::WinHelp(HWND hwndCtrl, //set passed parameter.
|
|
// LPTSTR TSZ_WMHELP_FILE, //set your WinHelp file name.
|
|
// DWORD HELP_CONTEXTPOPUP, //uCommand.
|
|
// DWORD realHelpIndex); //Context Identifier for a topic.
|
|
// This code only popups context help.
|
|
// Args :
|
|
// : HWND hwndCtrl: Control window handle for popup.
|
|
// : INT idCtrl: Logical Control ID
|
|
// Return :
|
|
// DATE : Tue Jun 22 15:49:37 1999
|
|
// : LANGID imepadUiLangID: IMEPad's Ui langID.
|
|
// Return :
|
|
// DATE : Tue Jun 22 15:49:37 1999
|
|
// Histroy : Fri Aug 04 09:02:12 2000
|
|
// # Add imepadUiLangID. but you don't need to check it now.
|
|
//////////////////////////////////////////////////////////////////
|
|
INT WINAPI
|
|
PadHelp_HandleContextPopup(HWND hwndCtrl, INT idCtrl, LANGID imepadUiLangID)
|
|
{
|
|
#ifdef _DEBUG
|
|
TCHAR tszBuf[256];
|
|
TCHAR tszClass[256];
|
|
GetClassName(hwndCtrl, tszClass, sizeof(tszClass)/sizeof(tszClass[0]));
|
|
wsprintf(tszBuf,
|
|
"PadHelp_HandleContextPopup: hwndCtrl[0x%08x][%s] idCtrl[%d][0x%08x]\n",
|
|
hwndCtrl,
|
|
tszClass,
|
|
idCtrl,
|
|
idCtrl);
|
|
OutputDebugString(tszBuf);
|
|
#endif
|
|
int i;
|
|
for(i = 0; i < sizeof(g_helpIdList)/sizeof(g_helpIdList[0]); i+=2) {
|
|
if(idCtrl == g_helpIdList[i]) {
|
|
#ifdef _DEBUG
|
|
wsprintf(tszBuf,
|
|
"Find idCtrl[%d][0x%08x] helpId[%d][0x%08x]\n",
|
|
idCtrl, idCtrl,
|
|
g_helpIdList[i+1], g_helpIdList[i+1]);
|
|
OutputDebugString(tszBuf);
|
|
#endif
|
|
return ::WinHelp(hwndCtrl,
|
|
TSZ_WMHELP_FILE,
|
|
HELP_CONTEXTPOPUP,
|
|
g_helpIdList[i+1]);
|
|
}
|
|
}
|
|
return 0;
|
|
UNREFERENCED_PARAMETER(hwndCtrl);
|
|
UNREFERENCED_PARAMETER(imepadUiLangID);
|
|
}
|
|
|
|
//----------------------------------------------------------------
|
|
//DllMain
|
|
//----------------------------------------------------------------
|
|
BOOL WINAPI DllMain(HANDLE hInst, DWORD dwF, LPVOID lpNotUsed)
|
|
{
|
|
return TRUE;
|
|
UNREFERENCED_PARAMETER(hInst);
|
|
UNREFERENCED_PARAMETER(dwF);
|
|
UNREFERENCED_PARAMETER(lpNotUsed);
|
|
}
|
|
|
|
|
|
|
|
|
|
|