ReactOS 0.4.16-dev-1311-g81a4d83
imemenu.h
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS Keyboard Layout Switcher
3 * LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
4 * PURPOSE: IME menu handling
5 * COPYRIGHT: Copyright 2025 Katayama Hirofumi MZ (katayama.hirofumi.mz@gmail.com)
6 */
7
8#pragma once
9
10#include <immdev.h>
11
12#define ID_STARTIMEMENU 1000
13
14struct tagIMEMENUNODE;
15
16typedef struct tagIMEMENUITEM
17{
18 IMEMENUITEMINFO m_Info;
22
23typedef struct tagIMEMENUNODE
24{
29
32 _In_ HIMC hIMC,
33 _Inout_opt_ PIMEMENUITEMINFO lpImeParentMenu,
34 _In_ BOOL bRightMenu);
35
37INT GetRealImeMenuID(_In_ const IMEMENUNODE *pMenu, _In_ INT nFakeID);
DWORD HIMC
Definition: dimm.idl:75
unsigned int BOOL
Definition: ntddk_ex.h:94
INT GetRealImeMenuID(_In_ const IMEMENUNODE *pMenu, _In_ INT nFakeID)
Definition: imemenu.c:202
PIMEMENUNODE CreateImeMenu(_In_ HIMC hIMC, _Inout_opt_ PIMEMENUITEMINFO lpImeParentMenu, _In_ BOOL bRightMenu)
Definition: imemenu.c:62
struct tagIMEMENUITEM * PIMEMENUITEM
struct tagIMEMENUNODE IMEMENUNODE
VOID CleanupImeMenus(VOID)
Definition: imemenu.c:246
HMENU MenuFromImeMenu(_In_ const IMEMENUNODE *pMenu)
Definition: imemenu.c:188
struct tagIMEMENUITEM IMEMENUITEM
struct tagIMEMENUNODE * PIMEMENUNODE
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
Definition: ordinal.c:63
unsigned int UINT
Definition: ndis.h:50
#define _Inout_opt_
Definition: no_sal2.h:216
#define _In_
Definition: no_sal2.h:158
UINT m_nRealID
Definition: imemenu.h:19
IMEMENUITEMINFO m_Info
Definition: imemenu.h:18
struct tagIMEMENUNODE * m_pSubMenu
Definition: imemenu.h:20
INT m_nItems
Definition: imemenu.h:26
IMEMENUITEM m_Items[ANYSIZE_ARRAY]
Definition: imemenu.h:27
struct tagIMEMENUNODE * m_pNext
Definition: imemenu.h:25
#define ANYSIZE_ARRAY
Definition: typedefs.h:46
int32_t INT
Definition: typedefs.h:58