⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 intface.h

📁 Windows Mobile平台的日文输入法
💻 H
字号:
//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
//
// Use of this sample source code is subject to the terms of the Microsoft
// license agreement under which you licensed this sample source code. If
// you did not accept the terms of the license agreement, you are not
// authorized to use this sample source code. For the terms of the license,
// please see the license agreement between you and Microsoft or, if applicable,
// see the LICENSE.RTF on your install media or the root of your tools installation.
// THE SAMPLE SOURCE CODE IS PROVIDED "AS IS", WITH NO WARRANTIES OR INDEMNITIES.
//
/*++

	THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
	ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
	THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
	PARTICULAR PURPOSE.

Module Name:

    intface.h

Abstract:

	Header file for interface between input system frame work and
	each indivitual input pad. It also includes definitons of input
	pad specific structure.

--*/

#ifndef __INTFACE_H__
#define __INTFACE_H__

#ifdef __cplusplus
extern "C" {
#endif

typedef struct _SOFTKBD_INPUT {
    UINT32 m_nCharacter : 16; // Bits 0-15 are unicode code point
	UINT32 m_nKey : 8;        // Bits 16-24 are virtual key code
	UINT32 m_bShift : 1;      // Bit 25 is shift key state (down == 1)
	UINT32 m_bCtrl : 1;       // Bit 26 is control key state (down == 1)
	UINT32 m_bAlt : 1;        // Bit 27 is alt key state (down == 1)
	UINT32 m_bCaps : 1;       // Bit 28 is caps lock toggle state (on == 1)
	UINT32 m_bNum : 1;        // Bit 29 is num lock toggle state (on == 1)
	UINT32 m_bScroll : 1;     // Bit 30 is scroll lock toggle state (on == 1)
} SOFTKBD_INPUT, *PSOFTKBD_INPUT;

/*
 * SIPANEL_QUERY_STATUS
 */
typedef enum _SIPSTATUSTYPE
{
   SIP_COMP_CONTEXT = 0x0L,
   SIP_IME_STATUS,
}  SIPSTATUSTYPE;

typedef struct _tagSIPStatus {
   SIPSTATUSTYPE  m_type;              // Type of information
   UINT           m_status;            // The content
} SIPSTATUS, *PSIPSTATUS;

/*
 *      SIPANEL_CALLBACK_TYPE
 */
typedef enum _SIPANEL_CALLBACK_TYPE
{
	SIPANEL_HARDKBD_INPUT = 0x1000L,
	SIPANEL_SOFTKBD_INPUT,
	SIPANEL_HANDWRITING_INPUT,
	SIPANEL_QUERY_STATUS,         // Query the current IME status of SIPanel
	SIPANEL_COMMON_INPUT,
	SIPANEL_COMMON_KEY,
	SIPANEL_SWITCH_PAD,
} SIPANEL_CALLBACK_TYPE;


typedef BOOL (CALLBACK* SIPANEL_CALLBACK) (IN SIPANEL_CALLBACK_TYPE, IN OUT LPARAM);


/*
 *      InputPad_Initialize()
 */
HWND InputPad_Initialize(
	IN HWND,
	IN SIPANEL_CALLBACK
	);

/*
 *      INPAD_COMMAND_TYPE
 */
typedef enum _INPAD_COMMAND_TYPE
{
	INPAD_LOAD = 0L,
	INPAD_UNLOAD,
	INPAD_EXIT,
	INPAD_ERASE,
	INPAD_DETERMINE,
	INPAD_QUERY_SIZE,
	INPAD_SET_KEYBOARD_STATE,
	INPAD_QUERY_RCMASK,
	INPAD_SET_RCMASK,
	INPAD_SPECIAL_CHAR,
	INPAD_QUERY_PROCESS_DONE,
	INPAD_COMMON_KEY,
	INPAD_SWITCH_PAD,
} INPAD_COMMAND_TYPE, *PINPAD_COMMAND_TYPE;

BOOL InputPad_Command(IN INPAD_COMMAND_TYPE, IN OUT LPARAM);

typedef enum _INPUTPAD_ID
{
	INPUTPAD_SOFTKB = 0L,
	INPUTPAD_HDKB,
	INPUTPAD_HWPAD,
	INPUTPAD_MENUITEM = 100L
} INPUTPAD_ID, *PINPUTPAD_ID;

/*
 *	The common keys on SIPanel
 *
 *	Those are the keys that has effect on default composition window
 */
#define SIP_CKEY_CLEARALL	0x0001L
#define SIP_CKEY_BACKSPACE	0x0002L
#define SIP_CKEY_UNDO		0x0003L
#define SIP_CKEY_FSPACE		0x0004L
#define SIP_CKEY_HSPACE		0x0005L
#define SIP_CKEY_CTRL		0x0006L
#define SIP_CKEY_NEWLINE	0x0007L
#define SIP_CKEY_CONVERT	0x0008L
#define SIP_CKEY_DETERMINE	0x0009L

#ifdef __cplusplus
}
#endif /*__cplusplus*/

#endif /* __INTFACE_H__ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -