2025-04-27 07:49:33 -04:00

76 lines
1.8 KiB
C++

//
// nuihkl.h
//
#ifndef NUICTRLL_H
#define NUICTRLL_H
#include "private.h"
#include "strary.h"
#include "commctrl.h"
#include "internat.h"
#include "nuihkl.h"
#include "assembly.h"
#include "systhrd.h"
extern HRESULT WINAPI TF_RunInputCPL();
//////////////////////////////////////////////////////////////////////////////
//
// CLBarItemCtrl
//
//////////////////////////////////////////////////////////////////////////////
class CLBarItemCtrl : public CLBarItemButtonBase,
public CSysThreadRef
{
public:
CLBarItemCtrl(SYSTHREAD *psfn);
~CLBarItemCtrl();
STDMETHODIMP InitMenu(ITfMenu *pMenu);
STDMETHODIMP OnMenuSelect(UINT wID);
void OnShellLanguage(HKL hKL);
void _UpdateLangIcon(HKL hKL, BOOL fNotify);
void _UpdateLangIconForCic(BOOL fNotify);
void _AsmListUpdated(BOOL fNotify);
void OnSysColorChanged();
private:
void _Init();
void _ShowLanguageMenu(HWND hwnd, LONG xPos, LONG yPos, RECT *prcArea);
BOOL _HandleLangMenuMeasure(HWND hwnd, LPMEASUREITEMSTRUCT lpmi);
BOOL _HandleLangMenuDraw(HWND hwnd, LPDRAWITEMSTRUCT lpdi);
void _ShowAssemblyMenu(HWND hwnd, const LONG xPos, const LONG yPos, const RECT *prcArea);
int _meEto;
LANGID _langidForIcon;
DBG_ID_DECLARE;
};
//////////////////////////////////////////////////////////////////////////////
//
// CLBarItemHelp
//
//////////////////////////////////////////////////////////////////////////////
class CLBarItemHelp : public CLBarItemSystemButtonBase
{
public:
CLBarItemHelp(SYSTHREAD *psfn);
~CLBarItemHelp() {}
STDMETHODIMP GetIcon(HICON *phIcon);
STDMETHODIMP InitMenu(ITfMenu *pMenu);
STDMETHODIMP OnMenuSelect(UINT wID);
private:
BOOL InvokeCicHelp();
DBG_ID_DECLARE;
};
#endif // NUICTRLL_H