[MSUTB][SDK] Add CTipbarWnd Part 2 (#6466)

Supporting Language Bar...
JIRA issue: CORE-19363
- Add implementation to
  CTipbarWnd class.
- Add delay link to uxtheme.dll.
This commit is contained in:
Katayama Hirofumi MZ 2024-02-09 18:28:24 +09:00 committed by GitHub
parent f8b62abf16
commit afaa05e366
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 401 additions and 60 deletions

View file

@ -21,7 +21,7 @@ public:
BOOL Insert(size_t iItem, size_t cGrow);
LPVOID Append(size_t cGrow);
void Remove(size_t iItem, size_t cRemove);
void Remove(size_t iItem, size_t cRemove = 1);
};
template <typename T_ITEM>

View file

@ -653,6 +653,7 @@ protected:
COLORREF m_rgbToolTipBkColor;
COLORREF m_rgbToolTipTextColor;
friend class CUIFObject;
friend class CTipbarWnd;
public:
enum { TOOLTIP_TIMER_ID = 0x3216 };
@ -1111,6 +1112,28 @@ inline void cicDoneUIFLib(void)
cicDoneUIFUtil();
}
inline void cicGetScreenRect(POINT pt, LPRECT prc)
{
*prc = { 0, 0, ::GetSystemMetrics(SM_CXSCREEN), ::GetSystemMetrics(SM_CYSCREEN) };
HMONITOR hMon = MonitorFromPoint(pt, MONITOR_DEFAULTTONEAREST);
if (hMon)
{
MONITORINFO mi = { sizeof(mi) };
GetMonitorInfo(hMon, &mi);
*prc = mi.rcMonitor;
}
}
inline BOOL cicIsFullScreenSize(HWND hWnd)
{
RECT rc;
::GetWindowRect(hWnd, &rc);
return (rc.left <= 0) && (rc.top <= 0) &&
(rc.right >= GetSystemMetrics(SM_CXFULLSCREEN)) &&
(rc.bottom >= GetSystemMetrics(SM_CYFULLSCREEN));
}
/////////////////////////////////////////////////////////////////////////////
inline void CUIFSystemInfo::GetSystemMetrics()

View file

@ -13,12 +13,19 @@ DEFINE_GUID(GUID_LBI_INATITEM, 0xCDBC683A, 0x55CE, 0x4717, 0xBA,
DEFINE_GUID(GUID_LBI_CTRL, 0x58C99D96, 0x2F9B, 0x42CE, 0x91, 0xBE, 0x37, 0xEF, 0x18, 0x60, 0xF8, 0x82);
DEFINE_GUID(GUID_TFCAT_TIP_KEYBOARD, 0x34745C63, 0xB2F0, 0x4784, 0x8B, 0x67, 0x5E, 0x12, 0xC8, 0x70, 0x1A, 0x31);
DEFINE_GUID(CLSID_SYSTEMLANGBARITEM, 0xBEBACC94, 0x5CD3, 0x4662, 0xA1, 0xE0, 0xF3, 0x31, 0x99, 0x49, 0x36, 0x69);
DEFINE_GUID(IID_ITfLangBarMgr_P, 0xD72C0FA9, 0xADD5, 0x4AF0, 0x87, 0x06, 0x4F, 0xA9, 0xAE, 0x3E, 0x2E, 0xFF);
DEFINE_GUID(IID_ITfLangBarEventSink_P, 0x7A460360, 0xDA21, 0x4B09, 0xA8, 0xA0, 0x8A, 0x69, 0xE7, 0x28, 0xD8, 0x93);
EXTERN_C LPVOID WINAPI GetLibTls(VOID);
EXTERN_C BOOL WINAPI GetPopupTipbar(HWND hWnd, BOOL fWinLogon);
EXTERN_C HRESULT WINAPI SetRegisterLangBand(BOOL bRegister);
EXTERN_C VOID WINAPI ClosePopupTipbar(VOID);
struct ITfLangBarMgr_P : ITfLangBarMgr
{
STDMETHOD(GetPrevShowFloatingStatus)(DWORD*) = 0;
};
struct ITfLangBarEventSink_P : IUnknown
{
STDMETHOD(OnLangBarUpdate)(TfLBIClick click, BOOL bFlag) = 0;