ReactOS
0.4.16-dev-1946-g52006dd
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
14
struct
tagIMEMENUNODE
;
15
16
typedef
struct
tagIMEMENUITEM
17
{
18
IMEMENUITEMINFO
m_Info
;
19
UINT
m_nRealID
;
20
struct
tagIMEMENUNODE
*
m_pSubMenu
;
21
}
IMEMENUITEM
, *
PIMEMENUITEM
;
22
23
typedef
struct
tagIMEMENUNODE
24
{
25
struct
tagIMEMENUNODE
*
m_pNext
;
26
INT
m_nItems
;
27
IMEMENUITEM
m_Items
[
ANYSIZE_ARRAY
];
28
}
IMEMENUNODE
, *
PIMEMENUNODE
;
29
30
PIMEMENUNODE
31
CreateImeMenu
(
32
_In_
HIMC
hIMC,
33
_Inout_opt_
PIMEMENUITEMINFO lpImeParentMenu,
34
_In_
BOOL
bRightMenu);
35
36
HMENU
MenuFromImeMenu
(
_In_
const
IMEMENUNODE
*pMenu);
37
INT
GetRealImeMenuID
(
_In_
const
IMEMENUNODE
*pMenu,
_In_
INT
nFakeID);
38
VOID
CleanupImeMenus
(
VOID
);
HIMC
DWORD HIMC
Definition:
dimm.idl:75
BOOL
unsigned int BOOL
Definition:
ntddk_ex.h:94
GetRealImeMenuID
INT GetRealImeMenuID(_In_ const IMEMENUNODE *pMenu, _In_ INT nFakeID)
Definition:
imemenu.c:202
CreateImeMenu
PIMEMENUNODE CreateImeMenu(_In_ HIMC hIMC, _Inout_opt_ PIMEMENUITEMINFO lpImeParentMenu, _In_ BOOL bRightMenu)
Definition:
imemenu.c:62
PIMEMENUITEM
struct tagIMEMENUITEM * PIMEMENUITEM
IMEMENUNODE
struct tagIMEMENUNODE IMEMENUNODE
CleanupImeMenus
VOID CleanupImeMenus(VOID)
Definition:
imemenu.c:246
MenuFromImeMenu
HMENU MenuFromImeMenu(_In_ const IMEMENUNODE *pMenu)
Definition:
imemenu.c:188
IMEMENUITEM
struct tagIMEMENUITEM IMEMENUITEM
PIMEMENUNODE
struct tagIMEMENUNODE * PIMEMENUNODE
immdev.h
void
Definition:
nsiface.idl:2307
HMENU
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
Definition:
ordinal.c:60
UINT
unsigned int UINT
Definition:
ndis.h:50
_Inout_opt_
#define _Inout_opt_
Definition:
no_sal2.h:216
_In_
#define _In_
Definition:
no_sal2.h:158
tagIMEMENUITEM
Definition:
imemenu.h:17
tagIMEMENUITEM::m_nRealID
UINT m_nRealID
Definition:
imemenu.h:19
tagIMEMENUITEM::m_Info
IMEMENUITEMINFO m_Info
Definition:
imemenu.h:18
tagIMEMENUITEM::m_pSubMenu
struct tagIMEMENUNODE * m_pSubMenu
Definition:
imemenu.h:20
tagIMEMENUNODE
Definition:
imemenu.h:24
tagIMEMENUNODE::m_nItems
INT m_nItems
Definition:
imemenu.h:26
tagIMEMENUNODE::m_Items
IMEMENUITEM m_Items[ANYSIZE_ARRAY]
Definition:
imemenu.h:27
tagIMEMENUNODE::m_pNext
struct tagIMEMENUNODE * m_pNext
Definition:
imemenu.h:25
ANYSIZE_ARRAY
#define ANYSIZE_ARRAY
Definition:
typedefs.h:46
INT
int32_t INT
Definition:
typedefs.h:58
base
applications
kbswitch
imemenu.h
Generated on Thu Dec 4 2025 06:02:33 for ReactOS by
1.9.6