Leaked source code of windows server 2003
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.
 
 
 
 
 
 

54 lines
1.5 KiB

//
// imemenu.h
//
#ifndef TFEMENU_H
#define TFEMENU_H
typedef struct _tagMENULIST {
struct _tagMENULIST * pPrev;
struct _tagMENULIST * pNext;
DWORD dwNum;
} MENULIST;
typedef MENULIST *PMENULIST;
typedef struct _tagMYMENUITEM {
IMEMENUITEMINFO imii;
int nMenuID;
struct _tagMENULIST * pmlSubMenu;
} MYMENUITEM;
typedef MYMENUITEM *PMYMENUITEM;
class CWin32ImeMenu
{
public:
CWin32ImeMenu() {}
~CWin32ImeMenu()
{
DestroyIMEMenu();
}
BOOL GetIMEMenu(HWND hWnd, HIMC hIMC, BOOL fRight);
BOOL BuildIMEMenu(HMENU hMenu, BOOL fRight);
UINT GetIMEMenuItemID(int nMenuID);
DWORD GetIMEMenuItemData(int nImeMenuID);
private:
BOOL GetImeMenuProp();
BOOL AddMenuList(PMENULIST pMenu);
void DeleteMenuList(PMENULIST pMenu);
void DeleteAllMenuList();
PMENULIST AllocMenuList(DWORD dwNum);
void SetMyMenuItem(HWND hWnd, HIMC hIMC, LPIMEMENUITEMINFO lpIme, BOOL fRight, PMYMENUITEM pMyMenuItem);
PMENULIST CreateImeMenu(HWND hWnd, HIMC hIMC, LPIMEMENUITEMINFO lpImeParentMenu, BOOL fRight);
void FillMenuItemInfo(LPMENUITEMINFO lpmii, PMYMENUITEM pMyMenuItem, BOOL fRight);
int GetDefaultImeMenuItem();
BOOL BuildIMEMenuItems(HMENU hMenu, PMENULIST pMenu, BOOL fRight);
void DestroyIMEMenu();
PMENULIST _pMenuHdr; // Header of pMenuList
int _nMenuList; // number of pMenuList
int _nMenuCnt; // Sequence Number for TFE Menu Items
};
#endif // TFEMENU_H