ReactOS 0.4.15-dev-7998-gdb93cb1
cicuif.h
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS Cicero
3 * LICENSE: LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later)
4 * PURPOSE: Cicero UIF Library
5 * COPYRIGHT: Copyright 2023 Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
6 */
7
8#pragma once
9
10#include "cicarray.h"
11
12// This is the Cicero UIF Library, used to support the IME UI interface.
13// The Cicero UIF Library implements some GUI parts for IMEs and Language Bar.
14// The GUI parts of the UIF Library requires special handling because:
15//
16// 1. To avoid interfering with IME input, the GUI part should not receive focus.
17// 2. The IME popup window has WS_DISABLED style, so it cannot receive mouse messages
18// directly.
19
20class CUIFSystemInfo;
21class CUIFTheme;
22 class CUIFObject;
23 class CUIFWindow;
24 class CUIFToolTip;
25 class CUIFShadow;
27 class CUIFMenu;
28 class CUIFButton;
29 class CUIFButton2;
34 class CUIFWndFrame;
35 class CUIFGripper;
36 class CUIFMenuItem;
38class CUIFObjectArray;
39class CUIFColorTable;
42class CUIFBitmapDC;
43class CUIFIcon;
44class CUIFSolidBrush;
45class CUIFScheme;
46
48
50{
51public:
56
58 void GetSystemMetrics();
59 void Initialize();
60};
61
63
64#include <uxtheme.h>
65#include <vsstyle.h>
66
67// uxtheme.dll
81using FN_GetThemeFont = decltype(&GetThemeFont);
84
86
88{
89public:
111
115
118 STDMETHOD(DrawThemeText)(HDC hDC, int iStateId, LPCWSTR pszText, int cchText, DWORD dwTextFlags, DWORD dwTextFlags2, LPCRECT pRect);
119 STDMETHOD(DrawThemeIcon)(HDC hDC, int iStateId, LPCRECT pRect, HIMAGELIST himl, int iImageIndex);
120 STDMETHOD(GetThemeBackgroundExtent)(HDC hDC, int iStateId, LPCRECT pContentRect, LPRECT pExtentRect);
121 STDMETHOD(GetThemeBackgroundContentRect)(HDC hDC, int iStateId, LPCRECT pBoundingRect, LPRECT pContentRect);
122 STDMETHOD(GetThemeTextExtent)(HDC hDC, int iStateId, LPCWSTR pszText, int cchCharCount, DWORD dwTextFlags, LPCRECT pBoundingRect, LPRECT pExtentRect);
123 STDMETHOD(GetThemePartSize)(HDC hDC, int iStateId, LPRECT prc, THEMESIZE eSize, SIZE *psz);
124 STDMETHOD(DrawThemeEdge)(HDC hDC, int iStateId, LPCRECT pDestRect, UINT uEdge, UINT uFlags, LPRECT pContentRect);
125 STDMETHOD(GetThemeColor)(int iStateId, int iPropId, COLORREF *pColor);
126 STDMETHOD(GetThemeMargins)(HDC hDC, int iStateId, int iPropId, LPRECT prc, MARGINS *pMargins);
127 STDMETHOD(GetThemeFont)(HDC hDC, int iStateId, int iPropId, LOGFONTW *pFont);
129 STDMETHOD_(int, GetThemeSysSize)(int iSizeId);
130 STDMETHOD_(void, SetActiveTheme)(LPCWSTR pszClassList, INT iPartId, INT iStateId);
131};
132
134
135class CUIFObjectArray : public CicArray<CUIFObject*>
136{
137public:
139
141 {
142 if (!pObject || Find(pObject) >= 0)
143 return FALSE;
144
145 CUIFObject **ppNew = Append(1);
146 if (!ppNew)
147 return FALSE;
148
149 *ppNew = pObject;
150 return TRUE;
151 }
152
154 {
155 if (!pObject)
156 return FALSE;
157
158 ptrdiff_t iItem = Find(pObject);
159 if (iItem < 0)
160 return FALSE;
161
162 if (size_t(iItem) + 1 < size())
163 MoveMemory(&data()[iItem], &data()[iItem + 1],
164 (size() - (iItem + 1)) * sizeof(CUIFObject*));
165
166 --m_cItems;
167 return TRUE;
168 }
169
171 {
172 if (empty())
173 return NULL;
174 return (*this)[size() - 1];
175 }
176};
177
179
180class CUIFObject : public CUIFTheme
181{
182protected:
195 DWORD m_dwUnknown4[2]; //FIXME: name and type
196 friend class CUIFWindow;
197 friend class CUIFToolTip;
198 friend class CUIFBalloonWindow;
199
200public:
202 virtual ~CUIFObject();
203
204 void StartCapture();
205 void EndCapture();
206 BOOL IsCapture();
207 BOOL IsRTL();
212 void EndTimer();
213
216 STDMETHOD_(void, OnTimer)() { }
218 STDMETHOD_(void, OnMButtonDown)(LONG x, LONG y) { }
219 STDMETHOD_(void, OnRButtonDown)(LONG x, LONG y) { }
220 STDMETHOD_(void, OnLButtonUp)(LONG x, LONG y) { }
221 STDMETHOD_(void, OnMButtonUp)(LONG x, LONG y) { }
222 STDMETHOD_(void, OnRButtonUp)(LONG x, LONG y) { }
223 STDMETHOD_(void, OnMouseMove)(LONG x, LONG y) { }
224 STDMETHOD_(void, OnMouseIn)(LONG x, LONG y) { }
225 STDMETHOD_(void, OnMouseOut)(LONG x, LONG y) { }
226 STDMETHOD_(BOOL, OnSetCursor)(UINT uMsg, LONG x, LONG y);
227 STDMETHOD_(void, GetRect)(LPRECT prc);
229 STDMETHOD_(BOOL, PtInObject)(POINT pt);
230 STDMETHOD_(void, PaintObject)(HDC hDC, LPCRECT prc);
231 STDMETHOD_(void, CallOnPaint)();
233 STDMETHOD_(void, Show)(BOOL bVisible);
234 STDMETHOD_(void, SetFontToThis)(HFONT hFont);
236 STDMETHOD_(void, SetStyle)(DWORD style);
237 STDMETHOD_(void, AddUIObj)(CUIFObject *pObject);
238 STDMETHOD_(void, RemoveUIObj)(CUIFObject *pObject);
240 STDMETHOD_(void, SetToolTip)(LPCWSTR pszToolTip);
241 STDMETHOD_(LPCWSTR, GetToolTip)() { return m_pszToolTip; }
242 STDMETHOD_(LRESULT, OnShowToolTip)() { return 0; }
243 STDMETHOD_(void, OnHideToolTip)() { }
244 STDMETHOD_(void, DetachWndObj)();
245 STDMETHOD_(void, ClearWndObj)();
246 STDMETHOD_(BOOL, OnPaintTheme)(HDC hDC) { return FALSE; }
247 STDMETHOD_(void, OnPaintNoTheme)(HDC hDC) { }
248 STDMETHOD_(void, ClearTheme)();
249};
250
252
254{
255public:
257 virtual ~CUIFColorTable() { }
258
259 STDMETHOD_(void, InitColor)() = 0;
260 STDMETHOD_(void, DoneColor)() { }
261 STDMETHOD_(void, InitBrush)() = 0;
262 STDMETHOD_(void, DoneBrush)() = 0;
263
264 void Update()
265 {
266 DoneColor();
267 DoneBrush();
268 InitColor();
269 InitBrush();
270 }
271};
272
274{
275protected:
277 HBRUSH m_hBrushes[16];
278
279public:
281
283 HBRUSH GetBrush(INT iColor);
284
285 STDMETHOD_(void, InitColor)() override;
286 STDMETHOD_(void, InitBrush)() override;
287 STDMETHOD_(void, DoneBrush)() override;
288};
289
291{
292protected:
294 HBRUSH m_hBrushes[32];
295
296public:
298
300 HBRUSH GetBrush(INT iColor);
301
302 STDMETHOD_(void, InitColor)() override;
303 STDMETHOD_(void, InitBrush)() override;
304 STDMETHOD_(void, DoneBrush)() override;
305};
306
308
310{
311public:
312 HBRUSH m_hBrush;
313
314 operator HBRUSH() const { return m_hBrush; }
315
317 {
318 m_hBrush = ::CreateSolidBrush(rgbColor);
319 }
321 {
322 if (m_hBrush)
323 {
325 m_hBrush = NULL;
326 }
327 }
328};
329
331
333{
334public:
337
339 {
340 m_hIcon = hIcon;
341 if (m_hImageList)
342 {
345 }
346 return *this;
347 }
348
350};
351
353
355{
356protected:
361
362public:
367
368 CUIFBitmapDC(BOOL bMemory);
370 operator HDC() const { return m_hDC; }
371
372 void Uninit(BOOL bKeep = FALSE);
373
375 BOOL SetBitmap(LONG cx, LONG cy, WORD cPlanes, WORD cBitCount);
376 BOOL SetDIB(LONG cx, LONG cy, WORD cPlanes, WORD cBitCount);
377
379 {
380 HBITMAP hOldBitmap = m_hBitmap;
381 m_hBitmap = NULL;
382 return hOldBitmap;
383 }
384};
385
390
391void cicInitUIFUtil(void);
392void cicDoneUIFUtil(void);
393
394HBITMAP cicMirrorBitmap(HBITMAP hBitmap, HBRUSH hbrBack);
396HBITMAP cicCreateDisabledBitmap(LPCRECT prc, HBITMAP hbmMask, HBRUSH hbr1, HBRUSH hbr2,
397 BOOL bPressed);
398HBITMAP cicCreateShadowMaskBmp(LPRECT prc, HBITMAP hbm1, HBITMAP hbm2, HBRUSH hbr1, HBRUSH hbr2);
400HBITMAP cicConvertBlackBKGBitmap(LPCRECT prc, HBITMAP hbm1, HBITMAP hbm2, HBRUSH hBrush);
401HBITMAP cicCreateMaskBmp(LPCRECT prc, HBITMAP hbm1, HBITMAP hbm2, HBRUSH hbr,
402 COLORREF rgbColor, COLORREF rgbBack);
403BOOL cicGetIconBitmaps(HICON hIcon, HBITMAP *hbm1, HBITMAP *hbm2, const SIZE *pSize);
405
407
408// Flags for dwDrawFlags
409enum
410{
413};
414
416{
417public:
421
423 virtual ~CUIFScheme() { }
424
427 STDMETHOD_(HBRUSH, GetBrush)(INT iColor) = 0;
428 STDMETHOD_(INT, CyMenuItem)(INT cyText) = 0;
429 STDMETHOD_(INT, CxSizeFrame)() = 0;
430 STDMETHOD_(INT, CySizeFrame)() = 0;
431 STDMETHOD_(INT, CxWndBorder)() = 0;
432 STDMETHOD_(INT, CyWndBorder)() = 0;
435 STDMETHOD_(void, DrawSelectionRect)(HDC hDC, LPCRECT prc, int) = 0;
436 STDMETHOD_(void, GetCtrlFaceOffset)(DWORD, DWORD dwDrawFlags, LPSIZE pSize) = 0;
443 STDMETHOD_(void, DrawMenuSeparator)(HDC hDC, LPCRECT prc) = 0;
446 STDMETHOD_(void, DrawFrameCtrlIcon)(HDC hDC, LPCRECT prc, HICON hIcon, DWORD dwDrawFlags, LPSIZE pSize) = 0;
447 STDMETHOD_(void, DrawFrameCtrlBitmap)(HDC hDC, LPCRECT prc, HBITMAP hbm1, HBITMAP hbm2, DWORD dwDrawFlags) = 0;
449 STDMETHOD_(void, DrawDragHandle)(HDC hDC, LPCRECT prc, BOOL bVertical) = 0;
450 STDMETHOD_(void, DrawSeparator)(HDC hDC, LPCRECT prc, BOOL bVertical) = 0;
451};
452
454{
455protected:
457
458public:
459 CUIFSchemeDef(DWORD dwType) : m_dwType(dwType) { }
460
463 STDMETHOD_(HBRUSH, GetBrush)(INT iColor) override;
464 STDMETHOD_(INT, CyMenuItem)(INT cyText) override;
465 STDMETHOD_(INT, CxSizeFrame)() override;
466 STDMETHOD_(INT, CySizeFrame)() override;
467 STDMETHOD_(INT, CxWndBorder)() override { return 1; }
468 STDMETHOD_(INT, CyWndBorder)() override { return 1; }
469 STDMETHOD_(void, DrawSelectionRect)(HDC hDC, LPCRECT prc, int) override;
470 STDMETHOD_(void, GetCtrlFaceOffset)(DWORD dwUnknownFlags, DWORD dwDrawFlags, LPSIZE pSize) override;
474 STDMETHOD_(void, DrawCtrlIcon)(HDC hDC, LPCRECT prc, HICON hIcon, DWORD dwDrawFlags, LPSIZE pSize) override;
475 STDMETHOD_(void, DrawCtrlBitmap)(HDC hDC, LPCRECT prc, HBITMAP hbm1, HBITMAP hbm2, DWORD dwDrawFlags) override;
476 STDMETHOD_(void, DrawMenuBitmap)(HDC hDC, LPCRECT prc, HBITMAP hbm1, HBITMAP hbm2, DWORD dwDrawFlags) override;
477 STDMETHOD_(void, DrawMenuSeparator)(HDC hDC, LPCRECT prc) override;
478 STDMETHOD_(void, DrawFrameCtrlBkgd)(HDC hDC, LPCRECT prc, DWORD dwUnknownFlags, DWORD dwDrawFlags) override;
479 STDMETHOD_(void, DrawFrameCtrlEdge)(HDC hDC, LPCRECT prc, DWORD dwUnknownFlags, DWORD dwDrawFlags) override;
480 STDMETHOD_(void, DrawFrameCtrlIcon)(HDC hDC, LPCRECT prc, HICON hIcon, DWORD dwDrawFlags, LPSIZE pSize) override;
481 STDMETHOD_(void, DrawFrameCtrlBitmap)(HDC hDC, LPCRECT prc, HBITMAP hbm1, HBITMAP hbm2, DWORD dwDrawFlags) override;
482 STDMETHOD_(void, DrawWndFrame)(HDC hDC, LPCRECT prc, DWORD type, DWORD unused1, DWORD unused2) override;
483 STDMETHOD_(void, DrawDragHandle)(HDC hDC, LPCRECT prc, BOOL bVertical) override;
484 STDMETHOD_(void, DrawSeparator)(HDC hDC, LPCRECT prc, BOOL bVertical) override;
485};
486
488
490
491// m_style flags for CUIFWindow
492enum
493{
508};
509
510class CUIFWindow : public CUIFObject
511{
512protected:
527 friend class CUIFObject;
528 friend class CUIFShadow;
529 friend class CUIFToolTip;
530 friend class CUIFButton;
531 friend class CUIFMenu;
532
533public:
534 enum { POINTING_TIMER_ID = 0x7982, USER_TIMER_ID = 0x5461 };
535 operator HWND() const { return m_hWnd; }
537 ~CUIFWindow() override;
538
539 static CUIFWindow* GetThis(HWND hWnd);
540 static void SetThis(HWND hWnd, LONG_PTR dwNewLong);
541
543 STDMETHOD_(void, Show)(BOOL bVisible) override;
544 STDMETHOD_(void, SetRect)(LPCRECT prc) override;
545 STDMETHOD_(void, PaintObject)(HDC hDC, LPCRECT prc) override;
546 STDMETHOD_(void, RemoveUIObj)(CUIFObject *pRemove) override;
547
548 void SetCaptureObject(CUIFObject *pCaptured);
549 void SetObjectPointed(CUIFObject *pPointed, POINT pt);
550 void CreateScheme();
551 BOOL GetWorkArea(LPCRECT prcWnd, LPRECT prcWorkArea);
553 void SetBehindModal(CUIFWindow *pBehindModal);
554 void SetTimerObject(CUIFObject *pTimerObject, UINT uElapse);
555
557
558 STDMETHOD_(LPCTSTR, GetClassName)() { return TEXT("CiceroUIWndFrame"); }
559 STDMETHOD_(LPCTSTR, GetWndTitle)() { return TEXT("CiceroUIWndFrame"); }
560 STDMETHOD_(DWORD, GetWndStyle)();
561 STDMETHOD_(DWORD, GetWndStyleEx)();
565 STDMETHOD_(void, OnObjectMoved)(CUIFObject *pObject);
566 STDMETHOD_(void, OnMouseOutFromWindow)(LONG x, LONG y) { }
567 STDMETHOD_(void, OnCreate)(HWND hWnd) { }
568 STDMETHOD_(void, OnDestroy)(HWND hWnd) { }
569 STDMETHOD_(void, OnNCDestroy)(HWND hWnd) { }
570 STDMETHOD_(void, OnSetFocus)(HWND hWnd) { }
571 STDMETHOD_(void, OnKillFocus)(HWND hWnd) { }
573 STDMETHOD_(void, OnTimer)(WPARAM wParam) { }
574 STDMETHOD_(void, OnSysColorChange)() { }
575 STDMETHOD_(void, OnEndSession)(HWND hWnd, WPARAM wParam, LPARAM lParam) { }
577 STDMETHOD_(void, OnKeyUp)(HWND, WPARAM wParam, LPARAM lParam) { }
580 { return 0; }
581 STDMETHOD_(LRESULT, OnWindowPosChanged)(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
582 { return 0; }
583 STDMETHOD_(LRESULT, OnWindowPosChanging)(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
584 { return 0; }
585 STDMETHOD_(LRESULT, OnNotifyFormat)(HWND hWnd, WPARAM wParam, LPARAM lParam) { return 0; }
587 { return 0; }
590 { return 0; }
592 { return S_OK; }
595 { return FALSE; }
596 STDMETHOD_(void, OnThemeChanged)(HWND hWnd, WPARAM wParam, LPARAM lParam);
597 STDMETHOD_(void, UpdateUI)(LPCRECT prc);
599 STDMETHOD_(void, ModalMouseNotify)(UINT uMsg, LONG x, LONG y) { }
600 STDMETHOD_(void, OnAnimationStart)() { }
601 STDMETHOD_(void, OnAnimationEnd)();
602 STDMETHOD_(void, HandleMouseMsg)(UINT uMsg, LONG x, LONG y);
603 STDMETHOD_(void, ClientRectToWindowRect)(LPRECT pRect);
604 STDMETHOD_(void, GetWindowFrameSize)(LPSIZE pSize);
605};
606
608
610{
611protected:
616 DWORD m_dwUnknown10; //FIXME: name and type
626 friend class CUIFObject;
627 friend class CTipbarWnd;
628
629public:
630 enum { TOOLTIP_TIMER_ID = 0x3216 };
632 ~CUIFToolTip() override;
633
634 LONG GetDelayTime(UINT uType);
635 void GetMargin(LPRECT prc);
639
640 void ShowTip();
641 void HideTip();
642
643 void GetTipWindowSize(LPSIZE pSize);
644 void GetTipWindowRect(LPRECT pRect, SIZE toolTipSize, LPCRECT prc);
645
646 void RelayEvent(LPMSG pMsg);
647
648 STDMETHOD_(void, OnPaint)(HDC hDC) override;
649 STDMETHOD_(void, Enable)(BOOL bEnable) override;
650 STDMETHOD_(void, OnTimer)(WPARAM wParam) override;
651};
652
653class CUIFShadow : public CUIFWindow
654{
655protected:
662
663public:
665 ~CUIFShadow() override;
666
667 void InitSettings();
668 void InitShadow();
669 void AdjustWindowPos();
670 void OnOwnerWndMoved(BOOL bDoSize);
671
673 STDMETHOD_(DWORD, GetWndStyleEx)() override;
674 STDMETHOD_(void, OnPaint)(HDC hDC) override;
675 STDMETHOD_(LRESULT, OnWindowPosChanging)(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam) override;
677 STDMETHOD_(void, Show)(BOOL bVisible) override;
678};
679
681
682// m_style flags for CUIFMenu
683enum
684{
685 UIF_MENU_USE_OFF10 = 0x10000000,
686};
687
688class CUIFMenu : public CUIFWindow
689{
690public:
702 friend class CUIFMenuItem;
703
704public:
705 CUIFMenu(HINSTANCE hInst, DWORD style, DWORD dwUnknown14);
706 ~CUIFMenu() override;
707
708 void CancelMenu();
709 void ClearMenuFont();
716 void SetMenuFont();
717 void SetSelectedId(UINT nSelectID);
718 void SetSelectedItem(CUIFMenuItem *pItem);
720 void ShowSubPopup(CUIFMenu *pSubMenu, LPCRECT prc, BOOL bFlag);
721
723 STDMETHOD_(void, HandleMouseMsg)(UINT uMsg, LONG x, LONG y) override;
724 STDMETHOD_(void, ModalMouseNotify)(UINT uMsg, LONG x, LONG y) override;
725
726 STDMETHOD_(void, ModalMessageLoop)();
728 STDMETHOD_(BOOL, UninitShow)();
729};
730
732
734{
735protected:
753 friend class CUIFMenu;
754
755 void DrawArrow(HDC hDC, INT x, INT y);
756 void DrawBitmapProc(HDC hDC, INT xLeft, INT yTop);
757 void DrawCheck(HDC hDC, INT xLeft, INT yTop);
758 void DrawUnderline(HDC hDC, INT xText, INT yText, HBRUSH hbr);
759
760public:
761 CUIFMenuItem(CUIFMenu *pMenu, BOOL bDisabled = FALSE);
762 ~CUIFMenuItem() override;
763
764 BOOL Init(UINT nMenuItemID, LPCWSTR pszText);
765
766 BOOL IsCheck();
767 void Check(BOOL bChecked) { m_bMenuItemChecked = bChecked; }
768 void Gray(BOOL bGrayed) { m_bMenuItemGrayed = bGrayed; }
769
770 void SetBitmap(HBITMAP hbmColor) { m_hbmColor = hbmColor; }
771 void SetBitmapMask(HBITMAP hbmMask);
772 void SetSub(CUIFMenu *pSubMenu) { m_pSubMenu = pSubMenu; }
773
774 void ShowSubPopup();
775
776 STDMETHOD_(void, OnLButtonUp)(LONG x, LONG y) override;
777 STDMETHOD_(void, OnMouseIn)(LONG x, LONG y) override;
778 STDMETHOD_(void, OnPaint)(HDC hDC) override;
779 STDMETHOD_(void, OnTimer)() override;
780
781 STDMETHOD_(void, InitMenuExtent)();
782 STDMETHOD_(void, OnPaintDef)(HDC hDC);
783 STDMETHOD_(void, OnPaintO10)(HDC hDC);
784 STDMETHOD_(void, OnUnknownMethod)() { } // FIXME: method name
785};
786
788
790{
791public:
793
794 STDMETHOD_(void, InitMenuExtent)() override;
795 STDMETHOD_(void, OnPaintDef)(HDC hDC) override;
796 STDMETHOD_(void, OnPaintO10)(HDC hDC) override;
797};
798
800
801// m_style flags for CUIFButton
802enum
803{
814};
815
816class CUIFButton : public CUIFObject
817{
818protected:
828 friend class CUIFToolbarButton;
829
830 void DrawBitmapProc(HDC hDC, LPCRECT prc, BOOL bPressed);
831 void DrawEdgeProc(HDC hDC, LPCRECT prc, BOOL bPressed);
832 void DrawIconProc(HDC hDC, LPRECT prc, BOOL bPressed);
833 void DrawTextProc(HDC hDC, LPCRECT prc, BOOL bPressed);
834
835public:
837 ~CUIFButton() override;
838
839 void SetIcon(HICON hIcon);
840 void SetText(LPCWSTR pszText);
841
842 void GetIconSize(HICON hIcon, LPSIZE pSize);
843 void GetTextSize(LPCWSTR pszText, LPSIZE pSize);
844
845 STDMETHOD_(void, Enable)(BOOL bEnable) override;
846 STDMETHOD_(void, OnMouseIn)(LONG x, LONG y) override;
847 STDMETHOD_(void, OnMouseOut)(LONG x, LONG y) override;
848 STDMETHOD_(void, OnLButtonDown)(LONG x, LONG y) override;
849 STDMETHOD_(void, OnLButtonUp)(LONG x, LONG y) override;
850 STDMETHOD_(void, OnPaintNoTheme)(HDC hDC) override;
851 STDMETHOD_(void, SetStatus)(UINT uStatus);
852};
853
855
857{
858protected:
860
861public:
863 ~CUIFButton2() override;
864
866 STDMETHOD_(BOOL, OnPaintTheme)(HDC hDC) override;
867 STDMETHOD_(void, OnPaintNoTheme)(HDC hDC) override;
868};
869
871
873{
874public:
876
878 ~CUIFToolbarMenuButton() override;
879
880 STDMETHOD_(void, OnLButtonUp)(LONG x, LONG y) override;
881 STDMETHOD_(BOOL, OnSetCursor)(UINT uMsg, LONG x, LONG y) override;
882};
883
885
887{
888public:
890
892
893 STDMETHOD_(LPCWSTR, GetToolTip)() override;
894 STDMETHOD_(void, OnLButtonUp)(LONG x, LONG y) override;
895 STDMETHOD_(void, OnRButtonUp)(LONG x, LONG y) override;
896};
897
899
901{
902public:
907
910 DWORD nObjectID,
911 LPCRECT prc,
912 DWORD style,
913 DWORD dwToolbarButtonFlags,
914 LPCWSTR pszUnknownText);
915 ~CUIFToolbarButton() override { }
916
917 BOOL Init();
918 HICON GetIcon();
919 void SetIcon(HICON hIcon);
920
921 STDMETHOD_(void, ClearWndObj)() override;
922 STDMETHOD_(void, DetachWndObj)() override;
923 STDMETHOD_(void, Enable)(BOOL bEnable) override;
924 STDMETHOD_(LPCWSTR, GetToolTip)() override;
925 STDMETHOD_(void, SetActiveTheme)(LPCWSTR pszClassList, INT iPartId, INT iStateId) override;
926 STDMETHOD_(void, SetFont)(HFONT hFont) override;
927 STDMETHOD_(void, SetRect)(LPCRECT prc) override;
928 STDMETHOD_(void, SetToolTip)(LPCWSTR pszToolTip) override;
929
930 STDMETHOD_(void, OnUnknownMouse0)() { }
931 STDMETHOD_(void, OnLeftClick)() { }
932 STDMETHOD_(void, OnRightClick)() { }
933};
934
936
937// m_style flags for CUIFGripper
938enum
939{
941};
942
944{
945protected:
947
948public:
950 ~CUIFGripper() override;
951
952 STDMETHOD_(void, OnMouseMove)(LONG x, LONG y) override;
953 STDMETHOD_(void, OnLButtonDown)(LONG x, LONG y) override;
954 STDMETHOD_(void, OnLButtonUp)(LONG x, LONG y) override;
955 STDMETHOD_(BOOL, OnPaintTheme)(HDC hDC) override;
956 STDMETHOD_(void, OnPaintNoTheme)(HDC hDC) override;
957 STDMETHOD_(BOOL, OnSetCursor)(UINT uMsg, LONG x, LONG y) override;
958 STDMETHOD_(void, SetStyle)(DWORD style) override;
959};
960
962
964{
965protected:
973
974public:
976
977 void GetFrameSize(LPSIZE pSize);
979
980 STDMETHOD_(void, OnMouseMove)(LONG x, LONG y) override;
981 STDMETHOD_(void, OnLButtonDown)(LONG x, LONG y) override;
982 STDMETHOD_(void, OnLButtonUp)(LONG x, LONG y) override;
983 STDMETHOD_(BOOL, OnPaintTheme)(HDC hDC) override;
984 STDMETHOD_(void, OnPaintNoTheme)(HDC hDC) override;
985 STDMETHOD_(BOOL, OnSetCursor)(UINT uMsg, LONG x, LONG y) override;
986};
987
989
991{
992protected:
994 friend class CUIFBalloonWindow;
995
996public:
998
999 STDMETHOD_(void, OnPaint)(HDC hDC) override;
1000 void DrawTextProc(HDC hDC, LPCRECT prc, BOOL bPressed);
1001};
1002
1004
1005// m_style flags for CUIFBalloonWindow
1006enum
1007{
1011};
1012
1014{
1015protected:
1034
1035public:
1037 ~CUIFBalloonWindow() override;
1038
1040 STDMETHOD_(LPCTSTR, GetClassName)() override { return TEXT("MSIME_PopupMessage"); }
1041 STDMETHOD_(LPCTSTR, GetWndTitle)() override { return TEXT("MSIME_PopupMessage"); }
1042 STDMETHOD_(void, OnCreate)(HWND hWnd) override;
1043 STDMETHOD_(void, OnDestroy)(HWND hWnd) override;
1046 STDMETHOD_(void, OnPaint)(HDC hDC) override;
1047
1048 void AddButton(UINT nCommandId);
1049 void AdjustPos();
1050 HRGN CreateRegion(LPCRECT prc);
1051 void DoneWindowRegion();
1052 CUIFBalloonButton *FindButton(UINT nCommandID);
1053 CUIFObject *FindUIObject(UINT nObjectID);
1054
1057 void GetButtonSize(LPSIZE pSize);
1058 void GetMargin(LPRECT prcMargin);
1059 void SetExcludeRect(LPCRECT prcExclude);
1060 void SetTargetPos(POINT ptTarget);
1061 void SetText(LPCWSTR pszText);
1062
1063 void InitWindowRegion();
1064 void LayoutObject();
1066 void PaintMessageProc(HDC hDC, LPRECT prc, LPCWSTR pszText);
1068};
1069
1071
1072void cicInitUIFLib(void);
1073void cicDoneUIFLib(void);
1074
1075void cicInitUIFSys(void);
1076void cicDoneUIFSys(void);
1077void cicUpdateUIFSys(void);
1078
1079void cicInitUIFScheme(void);
1080void cicUpdateUIFScheme(void);
1081void cicDoneUIFScheme(void);
1082
1087
static HDC hDC
Definition: 3dtext.c:33
static HWND CreateWnd(HINSTANCE hinst, PLARGE_STRING clsName, PLARGE_STRING clsVer, PLARGE_STRING wndName)
static BOOL GetColor(HWND hwndDlg, GLOBALS *g, INT nButton)
Definition: advappdlg.c:286
Arabic default style
Definition: afstyles.h:94
HWND hWnd
Definition: settings.c:17
HFONT hFont
Definition: main.c:53
static LRESULT OnUser(HWND hWnd)
Definition: wordpad.c:1952
static LRESULT OnNotify(HWND hWnd, LPARAM lParam)
Definition: wordpad.c:2004
static VOID OnTimer(IN HWND hwndDlg, IN PSYS_SHUTDOWN_PARAMS pShutdownParams)
Definition: shutdown.c:72
#define STDMETHOD_(t, m)
Definition: basetyps.h:63
#define STDMETHOD(m)
Definition: basetyps.h:62
HBITMAP hbmp
HIMAGELIST himl
decltype(&GetThemeFont) FN_GetThemeFont
Definition: cicuif.h:81
void cicUpdateUIFSys(void)
Definition: cicuif.cpp:5408
decltype(&GetThemeBackgroundContentRect) FN_GetThemeBackgroundContentRect
Definition: cicuif.h:75
decltype(&GetThemeColor) FN_GetThemeColor
Definition: cicuif.h:79
@ UIF_MENU_USE_OFF10
Definition: cicuif.h:685
HBITMAP cicMirrorBitmap(HBITMAP hBitmap, HBRUSH hbrBack)
Definition: cicuif.cpp:1154
void cicUpdateUIFScheme(void)
Definition: cicuif.cpp:5435
decltype(&OpenThemeData) FN_OpenThemeData
Definition: cicuif.h:68
void cicInitUIFLib(void)
Definition: cicuif.cpp:5459
void cicDrawMaskBmpOnDC(HDC hDC, LPCRECT prc, HBITMAP hbmp, HBITMAP hbmpMask)
Definition: cicuif.cpp:1407
HBITMAP cicCreateDisabledBitmap(LPCRECT prc, HBITMAP hbmMask, HBRUSH hbr1, HBRUSH hbr2, BOOL bPressed)
Definition: cicuif.cpp:1200
@ UIF_DRAW_PRESSED
Definition: cicuif.h:411
@ UIF_DRAW_DISABLED
Definition: cicuif.h:412
@ UIF_BALLOON_WINDOW_OK
Definition: cicuif.h:1008
@ UIF_BALLOON_WINDOW_YESNO
Definition: cicuif.h:1009
@ UIF_BALLOON_WINDOW_TYPE_MASK
Definition: cicuif.h:1010
BOOL cicGetIconBitmaps(HICON hIcon, HBITMAP *hbm1, HBITMAP *hbm2, const SIZE *pSize)
Definition: cicuif.cpp:1375
decltype(&GetThemeSysColor) FN_GetThemeSysColor
Definition: cicuif.h:82
decltype(&DrawThemeBackground) FN_DrawThemeBackground
Definition: cicuif.h:70
@ UIF_BUTTON_V_ALIGN_BOTTOM
Definition: cicuif.h:810
@ UIF_BUTTON_V_ALIGN_TOP
Definition: cicuif.h:808
@ UIF_BUTTON_H_ALIGN_LEFT
Definition: cicuif.h:804
@ UIF_BUTTON_V_ALIGN_MIDDLE
Definition: cicuif.h:809
@ UIF_BUTTON_V_ALIGN_MASK
Definition: cicuif.h:811
@ UIF_BUTTON_H_ALIGN_CENTER
Definition: cicuif.h:805
@ UIF_BUTTON_VERTICAL
Definition: cicuif.h:813
@ UIF_BUTTON_LARGE_ICON
Definition: cicuif.h:812
@ UIF_BUTTON_H_ALIGN_RIGHT
Definition: cicuif.h:806
@ UIF_BUTTON_H_ALIGN_MASK
Definition: cicuif.h:807
void cicInitUIFScheme(void)
Definition: cicuif.cpp:5416
HBRUSH cicCreateDitherBrush(VOID)
Definition: cicuif.cpp:1181
decltype(&GetThemeTextExtent) FN_GetThemeTextExtent
Definition: cicuif.h:76
CUIFScheme * cicCreateUIFScheme(DWORD type)
@unimplemented
Definition: cicuif.cpp:628
void cicDoneUIFSys(void)
Definition: cicuif.cpp:5399
BOOL cicIsFullScreenSize(HWND hWnd)
Definition: cicuif.cpp:5365
decltype(&CloseThemeData) FN_CloseThemeData
Definition: cicuif.h:69
decltype(&DrawThemeParentBackground) FN_DrawThemeParentBackground
Definition: cicuif.h:71
HBITMAP cicCreateShadowMaskBmp(LPRECT prc, HBITMAP hbm1, HBITMAP hbm2, HBRUSH hbr1, HBRUSH hbr2)
Definition: cicuif.cpp:1237
void cicGetScreenRect(POINT pt, LPRECT prc)
Definition: cicuif.cpp:5353
HBITMAP cicCreateMaskBmp(LPCRECT prc, HBITMAP hbm1, HBITMAP hbm2, HBRUSH hbr, COLORREF rgbColor, COLORREF rgbBack)
Definition: cicuif.cpp:1342
void cicGetWorkAreaRect(POINT pt, LPRECT prc)
Definition: cicuif.cpp:5340
@ UIF_GRIPPER_VERTICAL
Definition: cicuif.h:940
HBITMAP cicChangeBitmapColor(LPCRECT prc, HBITMAP hbm, COLORREF rgbBack, COLORREF rgbFore)
Definition: cicuif.cpp:1272
@ UIF_WINDOW_NOMOUSEMSG
Definition: cicuif.h:503
@ UIF_WINDOW_CHILD
Definition: cicuif.h:494
@ UIF_WINDOW_LAYOUTRTL
Definition: cicuif.h:502
@ UIF_WINDOW_TOPMOST
Definition: cicuif.h:495
@ UIF_WINDOW_TOOLWINDOW
Definition: cicuif.h:496
@ UIF_WINDOW_WORKAREA
Definition: cicuif.h:500
@ UIF_WINDOW_USESCHEME3
Definition: cicuif.h:506
@ UIF_WINDOW_MONITOR
Definition: cicuif.h:501
@ UIF_WINDOW_USESCHEME2
Definition: cicuif.h:505
@ UIF_WINDOW_DLGFRAME
Definition: cicuif.h:497
@ UIF_WINDOW_ENABLETHEMED
Definition: cicuif.h:507
@ UIF_WINDOW_USESCHEME1
Definition: cicuif.h:504
@ UIF_WINDOW_SHADOW
Definition: cicuif.h:499
@ UIF_WINDOW_TOOLTIP
Definition: cicuif.h:498
void cicInitUIFSys(void)
Definition: cicuif.cpp:5392
decltype(&GetThemeMargins) FN_GetThemeMargins
Definition: cicuif.h:80
void cicDoneUIFScheme(void)
Definition: cicuif.cpp:5443
BOOL cicGetIconSize(HICON hIcon, LPSIZE pSize)
Definition: cicuif.cpp:5375
decltype(&DrawThemeIcon) FN_DrawThemeIcon
Definition: cicuif.h:73
decltype(&GetThemeBackgroundExtent) FN_GetThemeBackgroundExtent
Definition: cicuif.h:74
void cicInitUIFUtil(void)
Definition: cicuif.cpp:1116
decltype(&GetThemePartSize) FN_GetThemePartSize
Definition: cicuif.h:77
void cicDoneUIFUtil(void)
Definition: cicuif.cpp:1131
void cicDoneUIFLib(void)
Definition: cicuif.cpp:5466
decltype(&GetThemeSysSize) FN_GetThemeSysSize
Definition: cicuif.h:83
decltype(&DrawThemeText) FN_DrawThemeText
Definition: cicuif.h:72
decltype(&DrawThemeEdge) FN_DrawThemeEdge
Definition: cicuif.h:78
HBITMAP cicConvertBlackBKGBitmap(LPCRECT prc, HBITMAP hbm1, HBITMAP hbm2, HBRUSH hBrush)
Definition: cicuif.cpp:1302
void DrawTextProc(HDC hDC, LPCRECT prc, BOOL bPressed)
Definition: cicuif.cpp:3887
STDMETHOD_(void, OnPaint)(HDC hDC) override
UINT m_nCommandID
Definition: cicuif.h:993
STDMETHOD_(LRESULT, OnObjectNotify)(CUIFObject *pObject
COLORREF m_rgbBkColor
Definition: cicuif.h:1022
void GetButtonSize(LPSIZE pSize)
Definition: cicuif.cpp:4216
void AddButton(UINT nCommandId)
Definition: cicuif.cpp:4061
COLORREF GetBalloonBkColor()
Definition: cicuif.cpp:4198
DWORD m_dwUnknown6
Definition: cicuif.h:1019
void SetTargetPos(POINT ptTarget)
Definition: cicuif.cpp:4245
LPWSTR m_pszBalloonText
Definition: cicuif.h:1016
POINT m_ptBalloon
Definition: cicuif.h:1026
STDMETHOD_(LPCTSTR, GetWndTitle)() override
Definition: cicuif.h:1041
POINT m_ptTarget
Definition: cicuif.h:1024
DWORD m_dwUnknown7
Definition: cicuif.h:1027
STDMETHOD_(BOOL, Initialize)() override
BOOL m_bHasBkColor
Definition: cicuif.h:1020
STDMETHOD_(LPCTSTR, GetClassName)() override
Definition: cicuif.h:1040
void SetExcludeRect(LPCRECT prcExclude)
Definition: cicuif.cpp:4238
CUIFBalloonButton * FindButton(UINT nCommandID)
Definition: cicuif.cpp:4174
void SetText(LPCWSTR pszText)
Definition: cicuif.cpp:4252
void SendNotification(WPARAM wParam)
Definition: cicuif.cpp:4356
STDMETHOD_(void, OnDestroy)(HWND hWnd) override
~CUIFBalloonWindow() override
Definition: cicuif.cpp:3947
void PaintMessageProc(HDC hDC, LPRECT prc, LPCWSTR pszText)
Definition: cicuif.cpp:4344
STDMETHOD_(void, OnCreate)(HWND hWnd) override
STDMETHOD_(void, OnPaint)(HDC hDC) override
void DoneWindowRegion()
Definition: cicuif.cpp:4163
void AdjustPos()
@unimplemented
Definition: cicuif.cpp:4101
UINT m_nBalloonType
Definition: cicuif.h:1028
BOOL m_bHasTextColor
Definition: cicuif.h:1021
COLORREF m_rgbTextColor
Definition: cicuif.h:1023
WPARAM m_nActionID
Definition: cicuif.h:1031
COLORREF GetBalloonTextColor()
Definition: cicuif.cpp:4207
HRGN CreateRegion(LPCRECT prc)
Definition: cicuif.cpp:4107
void GetMargin(LPRECT prcMargin)
Definition: cicuif.cpp:4231
DWORD m_dwUnknown8[2]
Definition: cicuif.h:1029
void InitWindowRegion()
Definition: cicuif.cpp:4272
CUIFObject * FindUIObject(UINT nObjectID)
Definition: cicuif.cpp:4186
void LayoutObject()
Definition: cicuif.cpp:4282
void PaintFrameProc(HDC hDC, LPCRECT prc)
Definition: cicuif.cpp:4331
HGDIOBJ m_hOldObject
Definition: cicuif.h:359
HGDIOBJ m_hOldBitmap
Definition: cicuif.h:358
HBITMAP DetachBitmap()
Definition: cicuif.h:378
BOOL SetDIB(LONG cx, LONG cy, WORD cPlanes, WORD cBitCount)
Definition: cicuif.cpp:1101
static CUIFBitmapDC * s_phdcDst
Definition: cicuif.h:366
void Uninit(BOOL bKeep=FALSE)
Definition: cicuif.cpp:1063
static BOOL s_fInitBitmapDCs
Definition: cicuif.h:363
static CUIFBitmapDC * s_phdcSrc
Definition: cicuif.h:364
HBITMAP m_hBitmap
Definition: cicuif.h:357
static CUIFBitmapDC * s_phdcMask
Definition: cicuif.h:365
BOOL SetBitmap(HBITMAP hBitmap)
Definition: cicuif.cpp:1087
HDC m_hDC
Definition: cicuif.h:360
STDMETHOD_(void, OnPaintNoTheme)(HDC hDC) override
STDMETHOD_(BOOL, OnPaintTheme)(HDC hDC) override
DWORD MakeDrawFlag()
Definition: cicuif.cpp:3114
~CUIFButton2() override
Definition: cicuif.cpp:3109
SIZE m_BitmapSize
Definition: cicuif.h:859
void DrawBitmapProc(HDC hDC, LPCRECT prc, BOOL bPressed)
Definition: cicuif.cpp:2731
void SetIcon(HICON hIcon)
Definition: cicuif.cpp:3050
void DrawTextProc(HDC hDC, LPCRECT prc, BOOL bPressed)
Definition: cicuif.cpp:2819
DWORD m_dwUnknown9
Definition: cicuif.h:822
void SetText(LPCWSTR pszText)
Definition: cicuif.cpp:3071
STDMETHOD_(void, OnPaintNoTheme)(HDC hDC) override
STDMETHOD_(void, SetStatus)(UINT uStatus)
SIZE m_TextSize
Definition: cicuif.h:827
SIZE m_IconSize
Definition: cicuif.h:826
STDMETHOD_(void, Enable)(BOOL bEnable) override
STDMETHOD_(void, OnMouseOut)(LONG x
void DrawIconProc(HDC hDC, LPRECT prc, BOOL bPressed)
Definition: cicuif.cpp:2764
void GetIconSize(HICON hIcon, LPSIZE pSize)
Definition: cicuif.cpp:2885
CUIFIcon m_ButtonIcon
Definition: cicuif.h:821
void DrawEdgeProc(HDC hDC, LPCRECT prc, BOOL bPressed)
Definition: cicuif.cpp:2755
BOOL m_bPressed
Definition: cicuif.h:825
~CUIFButton() override
Definition: cicuif.cpp:2718
STDMETHOD_(void, OnLButtonDown)(LONG x
UINT m_uButtonStatus
Definition: cicuif.h:819
void GetTextSize(LPCWSTR pszText, LPSIZE pSize)
Definition: cicuif.cpp:2905
LPWSTR m_pszButtonText
Definition: cicuif.h:820
HBITMAP m_hbmButton2
Definition: cicuif.h:824
STDMETHOD_(void, OnLButtonUp)(LONG x
HBITMAP m_hbmButton1
Definition: cicuif.h:823
STDMETHOD_(void, DoneBrush)() override
COLORREF GetColor(INT iColor) const
Definition: cicuif.h:299
STDMETHOD_(void, InitBrush)() override
HBRUSH GetBrush(INT iColor)
Definition: cicuif.cpp:563
HBRUSH m_hBrushes[32]
Definition: cicuif.h:294
COLORREF m_rgbColors[32]
Definition: cicuif.h:293
STDMETHOD_(void, InitColor)() override
HBRUSH m_hBrushes[16]
Definition: cicuif.h:277
STDMETHOD_(void, DoneBrush)() override
COLORREF GetColor(INT iColor) const
Definition: cicuif.h:282
STDMETHOD_(void, InitColor)() override
STDMETHOD_(void, InitBrush)() override
COLORREF m_rgbColors[16]
Definition: cicuif.h:276
HBRUSH GetBrush(INT iColor)
Definition: cicuif.cpp:556
CUIFColorTable()
Definition: cicuif.h:256
STDMETHOD_(void, InitColor)()=0
STDMETHOD_(void, DoneBrush)()=0
void Update()
Definition: cicuif.h:264
virtual ~CUIFColorTable()
Definition: cicuif.h:257
STDMETHOD_(void, InitBrush)()=0
STDMETHOD_(void, DoneColor)()
Definition: cicuif.h:260
LONG x
Definition: cicuif.h:957
~CUIFGripper() override
Definition: cicuif.cpp:3291
STDMETHOD_(void, OnLButtonDown)(LONG x
STDMETHOD_(void, OnLButtonUp)(LONG x
POINT m_ptGripper
Definition: cicuif.h:946
STDMETHOD_(BOOL, OnPaintTheme)(HDC hDC) override
STDMETHOD_(void, SetStyle)(DWORD style) override
STDMETHOD_(void, OnPaintNoTheme)(HDC hDC) override
HIMAGELIST GetImageList(BOOL bMirror)
Definition: cicuif.cpp:1019
HICON m_hIcon
Definition: cicuif.h:335
CUIFIcon & operator=(HICON hIcon)
Definition: cicuif.h:338
HIMAGELIST m_hImageList
Definition: cicuif.h:336
STDMETHOD_(void, OnPaintO10)(HDC hDC) override
STDMETHOD_(void, OnPaintDef)(HDC hDC) override
STDMETHOD_(void, InitMenuExtent)() override
LPWSTR m_pszMenuItemRight
Definition: cicuif.h:739
CUIFMenu * m_pMenu
Definition: cicuif.h:749
STDMETHOD_(void, OnMouseIn)(LONG x
SIZE m_MenuLeftExtent
Definition: cicuif.h:751
BOOL m_bMenuItemDisabled
Definition: cicuif.h:748
STDMETHOD_(void, OnUnknownMethod)()
Definition: cicuif.h:784
STDMETHOD_(void, OnTimer)() override
UINT m_nMenuItemVKey
Definition: cicuif.h:741
UINT m_ichMenuItemPrefix
Definition: cicuif.h:742
STDMETHOD_(void, OnPaintO10)(HDC hDC)
HBITMAP m_hbmMask
Definition: cicuif.h:744
HBITMAP m_hbmColor
Definition: cicuif.h:743
BOOL m_bMenuItemChecked
Definition: cicuif.h:745
void SetBitmap(HBITMAP hbmColor)
Definition: cicuif.h:770
BOOL m_bMenuItemGrayed
Definition: cicuif.h:747
LPWSTR m_pszMenuItemLeft
Definition: cicuif.h:737
void Check(BOOL bChecked)
Definition: cicuif.h:767
void DrawArrow(HDC hDC, INT x, INT y)
Definition: cicuif.cpp:5009
BOOL m_bMenuItemForceChecked
Definition: cicuif.h:746
UINT m_cchMenuItemRight
Definition: cicuif.h:740
CUIFMenu * m_pSubMenu
Definition: cicuif.h:750
STDMETHOD_(void, OnPaint)(HDC hDC) override
void SetBitmapMask(HBITMAP hbmMask)
Definition: cicuif.cpp:5268
void Gray(BOOL bGrayed)
Definition: cicuif.h:768
STDMETHOD_(void, OnPaintDef)(HDC hDC)
SIZE m_MenuRightExtent
Definition: cicuif.h:752
BOOL IsCheck()
Definition: cicuif.cpp:5004
~CUIFMenuItem() override
Definition: cicuif.cpp:4890
void DrawUnderline(HDC hDC, INT xText, INT yText, HBRUSH hbr)
Definition: cicuif.cpp:5065
void DrawCheck(HDC hDC, INT xLeft, INT yTop)
Definition: cicuif.cpp:5053
STDMETHOD_(void, InitMenuExtent)()
void SetSub(CUIFMenu *pSubMenu)
Definition: cicuif.h:772
void DrawBitmapProc(HDC hDC, INT xLeft, INT yTop)
Definition: cicuif.cpp:5019
UINT m_nMenuItemID
Definition: cicuif.h:736
UINT m_cchMenuItemLeft
Definition: cicuif.h:738
void ShowSubPopup()
Definition: cicuif.cpp:5274
void ShowSubPopup(CUIFMenu *pSubMenu, LPCRECT prc, BOOL bFlag)
Definition: cicuif.cpp:4848
CUIFMenu * m_pParentMenu
Definition: cicuif.h:692
UINT ShowModalPopup(CUIFWindow *pWindow, LPCRECT prc, BOOL bFlag)
Definition: cicuif.cpp:4820
BOOL m_bModal
Definition: cicuif.h:697
LPCRECT BOOL bFlag
Definition: cicuif.h:727
LPCRECT BOOL BOOL bDoAnimation
Definition: cicuif.h:727
CicArray< CUIFMenuItem * > m_MenuItems
Definition: cicuif.h:695
LONG x
Definition: cicuif.h:723
CUIFMenuItem * GetPrevItem(CUIFMenuItem *pItem)
Definition: cicuif.cpp:4433
LONG m_cxMenuExtent
Definition: cicuif.h:701
CUIFMenuItem * m_pSelectedItem
Definition: cicuif.h:693
BOOL InsertItem(CUIFMenuItem *pItem)
Definition: cicuif.cpp:4635
DWORD m_dwUnknown14
Definition: cicuif.h:699
WPARAM wParam
Definition: cicuif.h:722
void PostKey(BOOL bUp, WPARAM wParam, LPARAM lParam)
Definition: cicuif.cpp:4763
void SetSelectedItem(CUIFMenuItem *pItem)
Definition: cicuif.cpp:4807
void CancelMenu()
Definition: cicuif.cpp:4384
~CUIFMenu() override
Definition: cicuif.cpp:4375
void SetMenuFont()
Definition: cicuif.cpp:4775
LONG m_cxyMargin
Definition: cicuif.h:700
STDMETHOD_(BOOL, UninitShow)()
void ClearMenuFont()
Definition: cicuif.cpp:4397
void SetSelectedId(UINT nSelectID)
Definition: cicuif.cpp:4797
CUIFMenu * GetTopSubMenu()
Definition: cicuif.cpp:4462
UINT m_nSelectedID
Definition: cicuif.h:694
CUIFMenuItem * GetNextItem(CUIFMenuItem *pItem)
Definition: cicuif.cpp:4404
LPCRECT prc
Definition: cicuif.h:727
BOOL m_bHasMargin
Definition: cicuif.h:698
STDMETHOD_(void, ModalMessageLoop)()
HFONT m_hMenuFont
Definition: cicuif.h:696
CUIFMenu * m_pVisibleSubMenu
Definition: cicuif.h:691
STDMETHOD_(void, ModalMouseNotify)(UINT uMsg
BOOL InsertSeparator()
Definition: cicuif.cpp:4644
BOOL Add(CUIFObject *pObject)
Definition: cicuif.h:140
BOOL Remove(CUIFObject *pObject)
Definition: cicuif.h:153
CUIFObject * GetLast() const
Definition: cicuif.h:170
STDMETHOD_(BOOL, OnPaintTheme)(HDC hDC)
Definition: cicuif.h:246
STDMETHOD_(void, Show)(BOOL bVisible)
STDMETHOD_(void, OnLButtonDown)(LONG x
STDMETHOD_(LRESULT, OnShowToolTip)()
Definition: cicuif.h:242
STDMETHOD_(void, SetToolTip)(LPCWSTR pszToolTip)
void StartCapture()
Definition: cicuif.cpp:428
void SetScheme(CUIFScheme *scheme)
Definition: cicuif.cpp:495
CUIFObject * ObjectFromPoint(POINT pt)
Definition: cicuif.cpp:480
CUIFObject * m_pParent
Definition: cicuif.h:183
STDMETHOD_(void, CallOnPaint)()
DWORD m_style
Definition: cicuif.h:188
STDMETHOD_(void, Enable)(BOOL bEnable)
STDMETHOD_(void, SetFontToThis)(HFONT hFont)
friend class CUIFWindow
Definition: cicuif.h:196
HFONT m_hFont
Definition: cicuif.h:192
RECT m_rc
Definition: cicuif.h:189
void EndCapture()
Definition: cicuif.cpp:434
STDMETHOD_(void, SetFont)(HFONT hFont)
virtual ~CUIFObject()
Definition: cicuif.cpp:256
WPARAM LPARAM lParam
Definition: cicuif.h:239
BOOL IsRTL()
Definition: cicuif.cpp:473
STDMETHOD_(void, OnTimer)()
Definition: cicuif.h:216
CUIFScheme * m_pScheme
Definition: cicuif.h:185
STDMETHOD_(void, OnPaintNoTheme)(HDC hDC)
Definition: cicuif.h:247
LPWSTR m_pszToolTip
Definition: cicuif.h:194
STDMETHOD_(void, OnPaint)(HDC hDC)
BOOL IsCapture()
Definition: cicuif.cpp:440
STDMETHOD_(void, DetachWndObj)()
STDMETHOD_(void, SetRect)(LPCRECT prc)
LPCRECT prc
Definition: cicuif.h:230
BOOL m_bEnable
Definition: cicuif.h:190
BOOL m_bVisible
Definition: cicuif.h:191
CUIFObjectArray m_ObjectArray
Definition: cicuif.h:186
LONG y
Definition: cicuif.h:217
CUIFWindow * m_pWindow
Definition: cicuif.h:184
STDMETHOD_(void, ClearWndObj)()
void StartTimer(WPARAM wParam)
Definition: cicuif.cpp:504
DWORD m_nObjectID
Definition: cicuif.h:187
STDMETHOD_(LPCWSTR, GetToolTip)()
Definition: cicuif.h:241
STDMETHOD_(void, ClearTheme)()
void EndTimer()
Definition: cicuif.cpp:510
STDMETHOD_(void, RemoveUIObj)(CUIFObject *pObject)
WPARAM wParam
Definition: cicuif.h:239
BOOL m_bHasCustomFont
Definition: cicuif.h:193
STDMETHOD_(void, OnHideToolTip)()
Definition: cicuif.h:243
DWORD m_dwUnknown4[2]
Definition: cicuif.h:195
STDMETHOD_(void, SetStyle)(DWORD style)
STDMETHOD_(BOOL, Initialize)()
Definition: cicuif.h:214
STDMETHOD_(BOOL, PtInObject)(POINT pt)
STDMETHOD_(void, GetRect)(LPRECT prc)
STDMETHOD_(void, AddUIObj)(CUIFObject *pObject)
LRESULT NotifyCommand(WPARAM wParam, LPARAM lParam)
Definition: cicuif.cpp:453
LPCRECT DWORD type
Definition: cicuif.h:482
STDMETHOD_(void, DrawFrameCtrlBitmap)(HDC hDC
LPCRECT HBITMAP HBITMAP hbm2
Definition: cicuif.h:475
STDMETHOD_(COLORREF, GetColor)(INT iColor) override
LPCRECT HBITMAP hbm1
Definition: cicuif.h:475
STDMETHOD_(void, DrawCtrlEdge)(HDC hDC
LPCRECT DWORD DWORD unused1
Definition: cicuif.h:482
STDMETHOD_(void, DrawFrameCtrlIcon)(HDC hDC
STDMETHOD_(DWORD, GetType)() override
DWORD dwDrawFlags
Definition: cicuif.h:470
STDMETHOD_(void, DrawFrameCtrlEdge)(HDC hDC
LPCRECT LPCWSTR INT cchText
Definition: cicuif.h:473
STDMETHOD_(INT, CxSizeFrame)() override
LPCRECT HICON hIcon
Definition: cicuif.h:474
LPCRECT LPCWSTR pszText
Definition: cicuif.h:473
CUIFSchemeDef(DWORD dwType)
Definition: cicuif.h:459
LPCRECT DWORD dwUnknownFlags
Definition: cicuif.h:471
STDMETHOD_(void, DrawSeparator)(HDC hDC
STDMETHOD_(INT, CxWndBorder)() override
Definition: cicuif.h:467
LPCRECT prc
Definition: cicuif.h:469
DWORD m_dwType
Definition: cicuif.h:456
STDMETHOD_(INT, CyWndBorder)() override
Definition: cicuif.h:468
STDMETHOD_(void, DrawMenuBitmap)(HDC hDC
STDMETHOD_(void, DrawFrameCtrlBkgd)(HDC hDC
STDMETHOD_(HBRUSH, GetBrush)(INT iColor) override
STDMETHOD_(INT, CyMenuItem)(INT cyText) override
STDMETHOD_(INT, CySizeFrame)() override
STDMETHOD_(INT, CyMenuItem)(INT cyText)=0
LPCRECT int
Definition: cicuif.h:435
LPCRECT HICON DWORD dwDrawFlags
Definition: cicuif.h:440
STDMETHOD_(void, DrawFrameCtrlIcon)(HDC hDC
static CUIFColorTableSys * s_pColorTableSys
Definition: cicuif.h:418
virtual ~CUIFScheme()
Definition: cicuif.h:423
STDMETHOD_(void, DrawSeparator)(HDC hDC
LPCRECT prc
Definition: cicuif.h:433
LPCRECT DWORD DWORD dwDrawFlags
Definition: cicuif.h:437
STDMETHOD_(void, DrawFrameCtrlEdge)(HDC hDC
LPCRECT LPCWSTR INT DWORD BOOL bRight
Definition: cicuif.h:439
STDMETHOD_(DWORD, GetType)()=0
LPCRECT LPCWSTR pszText
Definition: cicuif.h:439
STDMETHOD_(void, DrawWndFrame)(HDC hDC
LPCRECT LPCWSTR INT cchText
Definition: cicuif.h:439
LPCRECT DWORD type
Definition: cicuif.h:448
BOOL m_bMirroring
Definition: cicuif.h:420
STDMETHOD_(INT, CyWndBorder)()=0
LPCRECT HBITMAP hbm1
Definition: cicuif.h:441
STDMETHOD_(void, FrameRect)(HDC hDC
STDMETHOD_(void, DrawFrameCtrlBitmap)(HDC hDC
STDMETHOD_(INT, CySizeFrame)()=0
STDMETHOD_(void, DrawCtrlEdge)(HDC hDC
STDMETHOD_(HBRUSH, GetBrush)(INT iColor)=0
CUIFScheme()
Definition: cicuif.h:422
LPCRECT INT iColor
Definition: cicuif.h:433
LPCRECT BOOL bVertical
Definition: cicuif.h:449
STDMETHOD_(void, DrawMenuSeparator)(HDC hDC
STDMETHOD_(void, DrawMenuBitmap)(HDC hDC
STDMETHOD_(COLORREF, GetColor)(INT iColor)=0
LPCRECT DWORD DWORD DWORD unused2
Definition: cicuif.h:448
DWORD LPSIZE pSize
Definition: cicuif.h:436
STDMETHOD_(INT, CxWndBorder)()=0
STDMETHOD_(void, DrawFrameCtrlBkgd)(HDC hDC
LPCRECT DWORD DWORD unused1
Definition: cicuif.h:448
DWORD dwDrawFlags
Definition: cicuif.h:436
LPCRECT DWORD dwUnknownFlags
Definition: cicuif.h:437
LPCRECT HBITMAP HBITMAP hbm2
Definition: cicuif.h:441
LPCRECT HICON hIcon
Definition: cicuif.h:440
static CUIFColorTableOff10 * s_pColorTableOff10
Definition: cicuif.h:419
STDMETHOD_(INT, CxSizeFrame)()=0
UINT WPARAM wParam
Definition: cicuif.h:675
void InitShadow()
@unimplemented
Definition: cicuif.cpp:2233
STDMETHOD_(void, OnPaint)(HDC hDC) override
void AdjustWindowPos()
Definition: cicuif.cpp:2241
STDMETHOD_(BOOL, Initialize)() override
STDMETHOD_(DWORD, GetWndStyleEx)() override
STDMETHOD_(void, Show)(BOOL bVisible) override
void OnOwnerWndMoved(BOOL bDoSize)
Definition: cicuif.cpp:2257
~CUIFShadow() override
Definition: cicuif.cpp:2218
BOOL m_bLayerAvailable
Definition: cicuif.h:661
COLORREF m_rgbShadowColor
Definition: cicuif.h:657
UINT Msg
Definition: cicuif.h:675
CUIFWindow * m_pShadowOwner
Definition: cicuif.h:656
INT m_xShadowDelta
Definition: cicuif.h:659
INT m_yShadowDelta
Definition: cicuif.h:660
DWORD m_dwUnknown11[2]
Definition: cicuif.h:658
UINT uMsg
Definition: cicuif.h:676
void InitSettings()
@unimplemented
Definition: cicuif.cpp:2225
STDMETHOD_(LRESULT, OnSettingChange)(HWND hWnd
HBRUSH m_hBrush
Definition: cicuif.h:312
~CUIFSolidBrush()
Definition: cicuif.h:320
CUIFSolidBrush(COLORREF rgbColor)
Definition: cicuif.h:316
void Initialize()
Definition: cicuif.cpp:56
void GetSystemMetrics()
Definition: cicuif.cpp:39
BOOL m_bHighContrast2
Definition: cicuif.h:55
BOOL m_bHighContrast1
Definition: cicuif.h:54
CUIFSystemInfo()
Definition: cicuif.h:57
DWORD m_cBitsPixels
Definition: cicuif.h:53
static CUIFSystemInfo * s_pSystemInfo
Definition: cicuif.h:52
STDMETHOD() DrawThemeParentBackground(HWND hwnd, HDC hDC, LPRECT prc)
Definition: cicuif.cpp:106
INT iPartId
Definition: cicuif.h:130
static FN_GetThemeFont s_fnGetThemeFont
Definition: cicuif.h:108
static FN_GetThemeSysSize s_fnGetThemeSysSize
Definition: cicuif.h:110
STDMETHOD_(COLORREF, GetThemeSysColor)(INT iColorId)
STDMETHOD() DrawThemeBackground(HDC hDC, int iStateId, LPCRECT pRect, LPCRECT pClipRect)
Definition: cicuif.cpp:98
STDMETHOD() GetThemeFont(HDC hDC, int iStateId, int iPropId, LOGFONTW *pFont)
Definition: cicuif.cpp:186
STDMETHOD() GetThemeBackgroundExtent(HDC hDC, int iStateId, LPCRECT pContentRect, LPRECT pExtentRect)
Definition: cicuif.cpp:130
HRESULT CloseThemeData()
Definition: cicuif.cpp:84
STDMETHOD() GetThemeColor(int iStateId, int iPropId, COLORREF *pColor)
Definition: cicuif.cpp:170
LPCWSTR m_pszClassList
Definition: cicuif.h:90
static FN_GetThemeMargins s_fnGetThemeMargins
Definition: cicuif.h:107
STDMETHOD() GetThemeMargins(HDC hDC, int iStateId, int iPropId, LPRECT prc, MARGINS *pMargins)
Definition: cicuif.cpp:178
HRESULT InternalOpenThemeData(HWND hWnd)
Definition: cicuif.cpp:66
STDMETHOD() DrawThemeText(HDC hDC, int iStateId, LPCWSTR pszText, int cchText, DWORD dwTextFlags, DWORD dwTextFlags2, LPCRECT pRect)
Definition: cicuif.cpp:114
static FN_DrawThemeIcon s_fnDrawThemeIcon
Definition: cicuif.h:100
INT m_iStateId
Definition: cicuif.h:92
static FN_GetThemePartSize s_fnGetThemePartSize
Definition: cicuif.h:104
INT m_iPartId
Definition: cicuif.h:91
STDMETHOD() DrawThemeIcon(HDC hDC, int iStateId, LPCRECT pRect, HIMAGELIST himl, int iImageIndex)
Definition: cicuif.cpp:122
static FN_DrawThemeBackground s_fnDrawThemeBackground
Definition: cicuif.h:97
STDMETHOD() DrawThemeEdge(HDC hDC, int iStateId, LPCRECT pDestRect, UINT uEdge, UINT uFlags, LPRECT pContentRect)
Definition: cicuif.cpp:162
INT INT iStateId
Definition: cicuif.h:130
STDMETHOD() GetThemePartSize(HDC hDC, int iStateId, LPRECT prc, THEMESIZE eSize, SIZE *psz)
Definition: cicuif.cpp:154
STDMETHOD() GetThemeTextExtent(HDC hDC, int iStateId, LPCWSTR pszText, int cchCharCount, DWORD dwTextFlags, LPCRECT pBoundingRect, LPRECT pExtentRect)
Definition: cicuif.cpp:146
static FN_GetThemeBackgroundExtent s_fnGetThemeBackgroundExtent
Definition: cicuif.h:101
STDMETHOD() GetThemeBackgroundContentRect(HDC hDC, int iStateId, LPCRECT pBoundingRect, LPRECT pContentRect)
Definition: cicuif.cpp:138
HTHEME m_hTheme
Definition: cicuif.h:93
static FN_GetThemeTextExtent s_fnGetThemeTextExtent
Definition: cicuif.h:103
static FN_DrawThemeParentBackground s_fnDrawThemeParentBackground
Definition: cicuif.h:98
static FN_GetThemeSysColor s_fnGetThemeSysColor
Definition: cicuif.h:109
static FN_OpenThemeData s_fnOpenThemeData
Definition: cicuif.h:95
static HINSTANCE s_hUXTHEME
Definition: cicuif.h:94
static FN_DrawThemeEdge s_fnDrawThemeEdge
Definition: cicuif.h:105
STDMETHOD_(int, GetThemeSysSize)(int iSizeId)
static FN_GetThemeBackgroundContentRect s_fnGetThemeBackgroundContentRect
Definition: cicuif.h:102
HRESULT EnsureThemeData(HWND hWnd)
Definition: cicuif.cpp:77
static FN_DrawThemeText s_fnDrawThemeText
Definition: cicuif.h:99
static FN_GetThemeColor s_fnGetThemeColor
Definition: cicuif.h:106
static FN_CloseThemeData s_fnCloseThemeData
Definition: cicuif.h:96
CUIFObject * m_pToolTipTarget
Definition: cicuif.h:613
COLORREF m_rgbToolTipTextColor
Definition: cicuif.h:625
LONG m_nDelayTimeType3
Definition: cicuif.h:618
@ TOOLTIP_TIMER_ID
Definition: cicuif.h:630
COLORREF GetTipTextColor()
Definition: cicuif.cpp:2416
void GetTipWindowRect(LPRECT pRect, SIZE toolTipSize, LPCRECT prc)
Definition: cicuif.cpp:2534
LONG m_nDelayTimeType2
Definition: cicuif.h:617
RECT m_rcToolTipMargin
Definition: cicuif.h:620
LPWSTR m_pszToolTipText
Definition: cicuif.h:614
BOOL m_bShowToolTip
Definition: cicuif.h:615
STDMETHOD_(void, OnPaint)(HDC hDC) override
LONG GetDelayTime(UINT uType)
Definition: cicuif.cpp:2368
STDMETHOD_(void, OnTimer)(WPARAM wParam) override
LONG m_nDelayTimeType1
Definition: cicuif.h:619
LONG m_cxToolTipWidth
Definition: cicuif.h:621
void RelayEvent(LPMSG pMsg)
Definition: cicuif.cpp:2603
BOOL m_bToolTipHasBkColor
Definition: cicuif.h:622
COLORREF GetTipBkColor()
Definition: cicuif.cpp:2408
void ShowTip()
Definition: cicuif.cpp:2432
CUIFObject * FindObject(HWND hWnd, POINT pt)
Definition: cicuif.cpp:2424
DWORD m_dwUnknown10
Definition: cicuif.h:616
void GetMargin(LPRECT prc)
Definition: cicuif.cpp:2401
STDMETHOD_(void, Enable)(BOOL bEnable) override
~CUIFToolTip() override
Definition: cicuif.cpp:2359
void HideTip()
Definition: cicuif.cpp:2476
void GetTipWindowSize(LPSIZE pSize)
Definition: cicuif.cpp:2496
CUIFWindow * m_pToolTipOwner
Definition: cicuif.h:612
COLORREF m_rgbToolTipBkColor
Definition: cicuif.h:624
BOOL m_bToolTipHasTextColor
Definition: cicuif.h:623
STDMETHOD_(LPCWSTR, GetToolTip)() override
STDMETHOD_(void, OnRButtonUp)(LONG x
CUIFToolbarButton * m_pToolbarButton
Definition: cicuif.h:889
STDMETHOD_(void, OnRightClick)()
Definition: cicuif.h:932
CUIFToolbarMenuButton * m_pToolbarMenuButton
Definition: cicuif.h:904
STDMETHOD_(void, Enable)(BOOL bEnable) override
DWORD m_dwToolbarButtonFlags
Definition: cicuif.h:905
STDMETHOD_(void, OnLeftClick)()
Definition: cicuif.h:931
STDMETHOD_(void, SetRect)(LPCRECT prc) override
LPCWSTR m_pszUnknownText
Definition: cicuif.h:906
STDMETHOD_(void, SetToolTip)(LPCWSTR pszToolTip) override
~CUIFToolbarButton() override
Definition: cicuif.h:915
CUIFToolbarButtonElement * m_pToolbarButtonElement
Definition: cicuif.h:903
STDMETHOD_(void, ClearWndObj)() override
STDMETHOD_(void, DetachWndObj)() override
STDMETHOD_(LPCWSTR, GetToolTip)() override
STDMETHOD_(void, SetFont)(HFONT hFont) override
STDMETHOD_(void, OnUnknownMouse0)()
Definition: cicuif.h:930
void SetIcon(HICON hIcon)
Definition: cicuif.cpp:3525
~CUIFToolbarMenuButton() override
Definition: cicuif.cpp:3402
CUIFToolbarButton * m_pToolbarButton
Definition: cicuif.h:875
STDMETHOD_(void, ClientRectToWindowRect)(LPRECT pRect)
static LRESULT CALLBACK WindowProcedure(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: cicuif.cpp:1977
STDMETHOD_(void, UpdateUI)(LPCRECT prc)
INT y
Definition: cicuif.h:563
STDMETHOD_(BOOL, OnEraseBkGnd)(HWND hWnd
friend class CUIFShadow
Definition: cicuif.h:528
STDMETHOD_(void, GetWindowFrameSize)(LPSIZE pSize)
UINT WPARAM LPARAM lParam
Definition: cicuif.h:590
STDMETHOD_(HRESULT, OnGetObject)(HWND hWnd
void SetObjectPointed(CUIFObject *pPointed, POINT pt)
Definition: cicuif.cpp:1663
CUIFShadow * m_pShadow
Definition: cicuif.h:525
UINT WPARAM wParam
Definition: cicuif.h:589
BOOL m_bShowShadow
Definition: cicuif.h:526
STDMETHOD_(void, OnMouseOutFromWindow)(LONG x
void SetCaptureObject(CUIFObject *pCaptured)
Definition: cicuif.cpp:1640
~CUIFWindow() override
Definition: cicuif.cpp:1449
void SetBehindModal(CUIFWindow *pBehindModal)
Definition: cicuif.cpp:2065
INT m_nWidth
Definition: cicuif.h:516
BOOL m_bPointing
Definition: cicuif.h:522
STDMETHOD_(HWND, CreateWnd)(HWND hwndParent)
HINSTANCE m_hInst
Definition: cicuif.h:517
friend class CUIFToolTip
Definition: cicuif.h:529
CUIFObject * m_pPointed
Definition: cicuif.h:521
STDMETHOD_(DWORD, GetWndStyle)()
INT m_nHeight
Definition: cicuif.h:515
STDMETHOD_(void, SetCapture)(int)
INT m_nTop
Definition: cicuif.h:514
STDMETHOD_(DWORD, GetWndStyleEx)()
INT INT nWidth
Definition: cicuif.h:563
static CUIFWindow * GetThis(HWND hWnd)
Definition: cicuif.cpp:1536
STDMETHOD_(void, Show)(BOOL bVisible) override
STDMETHOD_(void, OnObjectMoved)(CUIFObject *pObject)
STDMETHOD_(void, SetRect)(LPCRECT prc) override
WPARAM LPARAM lParam
Definition: cicuif.h:596
CUIFToolTip * m_pToolTip
Definition: cicuif.h:524
STDMETHOD_(void, HandleMouseMsg)(UINT uMsg
STDMETHOD_(void, RemoveUIObj)(CUIFObject *pRemove) override
UINT uMsg
Definition: cicuif.h:589
STDMETHOD_(LRESULT, WindowProc)(HWND hWnd
LONG x
Definition: cicuif.h:599
CUIFObject * m_pCaptured
Definition: cicuif.h:520
STDMETHOD_(void, ModalMouseNotify)(UINT uMsg
void SetTimerObject(CUIFObject *pTimerObject, UINT uElapse)
Definition: cicuif.cpp:2070
CUIFWindow * m_pBehindModal
Definition: cicuif.h:523
STDMETHOD_(LPCTSTR, GetWndTitle)()
Definition: cicuif.h:559
INT INT INT nHeight
Definition: cicuif.h:563
STDMETHOD_(BOOL, Initialize)() override
STDMETHOD_(LPCTSTR, GetClassName)()
Definition: cicuif.h:558
BOOL GetWorkArea(LPCRECT prcWnd, LPRECT prcWorkArea)
Definition: cicuif.cpp:2013
void AdjustWindowPosition()
Definition: cicuif.cpp:2043
INT m_nLeft
Definition: cicuif.h:513
@ USER_TIMER_ID
Definition: cicuif.h:534
@ POINTING_TIMER_ID
Definition: cicuif.h:534
CUIFObject * m_pTimerObject
Definition: cicuif.h:519
static void SetThis(HWND hWnd, LONG_PTR dwNewLong)
Definition: cicuif.cpp:1542
void CreateScheme()
Definition: cicuif.cpp:1547
HWND m_hWnd
Definition: cicuif.h:518
DWORD dwFlags
Definition: cicuif.h:564
friend class CUIFMenu
Definition: cicuif.h:531
INT m_cyMin
Definition: cicuif.h:972
DWORD HitTest(LONG x, LONG y)
Definition: cicuif.cpp:3655
INT m_cxFrame
Definition: cicuif.h:969
INT m_cyFrame
Definition: cicuif.h:970
LONG x
Definition: cicuif.h:985
void GetFrameSize(LPSIZE pSize)
Definition: cicuif.cpp:3649
STDMETHOD_(void, OnLButtonUp)(LONG x
RECT m_rcWnd
Definition: cicuif.h:968
POINT m_ptHit
Definition: cicuif.h:967
STDMETHOD_(void, OnPaintNoTheme)(HDC hDC) override
STDMETHOD_(BOOL, OnPaintTheme)(HDC hDC) override
INT m_cxMin
Definition: cicuif.h:971
STDMETHOD_(void, OnLButtonDown)(LONG x
DWORD m_dwHitTest
Definition: cicuif.h:966
size_t m_cItems
Definition: cicarray.h:16
ptrdiff_t Find(const CUIFObject * &item) const
Definition: cicarray.h:69
size_t size() const
Definition: cicarray.h:34
CUIFObject * * Append(size_t cGrow)
Definition: cicarray.h:52
CUIFObject * * data() const
Definition: cicarray.h:33
bool empty() const
Definition: cicarray.h:35
static HWND hwndParent
Definition: cryptui.c:300
static LRESULT CALLBACK WindowProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
Definition: d3dtest.c:68
#define NULL
Definition: types.h:112
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
static HBITMAP hBitmap
Definition: timezone.c:26
UINT uFlags
Definition: api.c:59
BOOL WINAPI ImageList_Destroy(HIMAGELIST himl)
Definition: imagelist.c:928
HANDLE HWND
Definition: compat.h:19
#define CALLBACK
Definition: compat.h:35
HRESULT WINAPI DrawThemeEdge(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pDestRect, UINT uEdge, UINT uFlags, RECT *pContentRect)
Definition: draw.c:1342
HRESULT WINAPI DrawThemeIcon(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pRect, HIMAGELIST himl, int iImageIndex)
Definition: draw.c:1362
HRESULT WINAPI DrawThemeBackground(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pRect, const RECT *pClipRect)
Definition: draw.c:128
HRESULT WINAPI GetThemePartSize(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, RECT *prc, THEMESIZE eSize, SIZE *psz)
Definition: draw.c:1777
HRESULT WINAPI GetThemeBackgroundExtent(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pContentRect, RECT *pExtentRect)
Definition: draw.c:1528
HRESULT WINAPI DrawThemeText(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, LPCWSTR pszText, int iCharCount, DWORD dwTextFlags, DWORD dwTextFlags2, const RECT *pRect)
Definition: draw.c:1377
HRESULT WINAPI DrawThemeParentBackground(HWND hwnd, HDC hdc, RECT *prc)
Definition: draw.c:72
HRESULT WINAPI GetThemeTextExtent(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, LPCWSTR pszText, int iCharCount, DWORD dwTextFlags, const RECT *pBoundingRect, RECT *pExtentRect)
Definition: draw.c:1809
HRESULT WINAPI GetThemeBackgroundContentRect(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pBoundingRect, RECT *pContentRect)
Definition: draw.c:1479
COLORREF WINAPI GetThemeSysColor(HTHEME hTheme, int iColorID)
Definition: metric.c:58
int WINAPI GetThemeSysSize(HTHEME hTheme, int iSizeID)
Definition: metric.c:154
HRESULT WINAPI GetThemeFont(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, int iPropId, LOGFONTW *pFont)
Definition: property.c:108
HRESULT WINAPI GetThemeMargins(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, int iPropId, RECT *prc, MARGINS *pMargins)
Definition: property.c:216
HRESULT WINAPI GetThemeColor(HTHEME hTheme, int iPartId, int iStateId, int iPropId, COLORREF *pColor)
Definition: property.c:45
HTHEME WINAPI OpenThemeData(HWND hwnd, LPCWSTR classlist)
Definition: system.c:835
HRESULT WINAPI CloseThemeData(HTHEME hTheme)
Definition: system.c:950
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
Definition: typeof.h:31
#define pt(x, y)
Definition: drawing.c:79
__kernel_ptrdiff_t ptrdiff_t
Definition: linux.h:247
HINSTANCE hInst
Definition: dxdiag.c:13
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
unsigned short WORD
Definition: ntddk_ex.h:93
FxObject * pParent
Definition: fxdpcapi.cpp:86
FxObject * pObject
pKey DeleteObject()
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
#define S_OK
Definition: intsafe.h:52
#define TEXT(s)
Definition: k32.h:26
static VOID OnKeyDown(PMAP infoPtr, WPARAM wParam, LPARAM lParam)
Definition: map.c:669
static VOID SetFont(PMAP infoPtr, LPWSTR lpFontName)
Definition: map.c:220
static VOID OnPaint(PMAP infoPtr, WPARAM wParam)
Definition: map.c:554
static HBITMAP
Definition: button.c:44
static HDC
Definition: imagelist.c:92
static HICON
Definition: imagelist.c:84
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
static HTHEME(WINAPI *pOpenThemeDataEx)(HWND
BOOL OnCreate(HWND hWnd)
Definition: msconfig.c:83
HICON hIcon
Definition: msconfig.c:44
__int3264 LONG_PTR
Definition: mstsclib_h.h:276
unsigned int UINT
Definition: ndis.h:50
#define DWORD
Definition: nt_native.h:44
_In_ ULONGLONG _In_ ULONGLONG _In_ BOOLEAN Enable
Definition: ntddpcm.h:142
_In_ HBITMAP hbm
Definition: ntgdi.h:2776
_Out_ LPRECT prc
Definition: ntgdi.h:1658
long LONG
Definition: pedump.c:60
static VOID OnLButtonDown(HWND hwnd, int xPos, int yPos, PPREVIEW_DATA pPreviewData)
Definition: preview.c:338
_Out_opt_ int _Out_opt_ int * cy
Definition: commctrl.h:586
_Out_opt_ int * cx
Definition: commctrl.h:585
#define DECLSPEC_SELECTANY
Definition: guiddef.h:40
DWORD scheme
DWORD dwTime
Definition: solitaire.cpp:27
Definition: misc.c:279
int32_t INT
Definition: typedefs.h:58
static LRESULT OnDestroy(HWND hWnd, WPARAM wParam, LPARAM lParam)
Definition: welcome.c:1552
static LRESULT OnActivate(HWND hWnd, WPARAM wParam, LPARAM lParam)
Definition: welcome.c:1526
static LRESULT OnMouseMove(HWND hWnd, WPARAM wParam, LPARAM lParam)
Definition: welcome.c:1470
#define GetType(This)
Definition: conio.h:54
#define MoveMemory
Definition: winbase.h:1709
_In_ LONG _In_ HWND hwnd
Definition: winddi.h:4023
_In_ BOOL bEnable
Definition: winddi.h:3426
LONG_PTR LPARAM
Definition: windef.h:208
LONG_PTR LRESULT
Definition: windef.h:209
UINT_PTR WPARAM
Definition: windef.h:207
DWORD COLORREF
Definition: windef.h:300
int WINAPI FillRect(HDC, LPCRECT, HBRUSH)
HBRUSH WINAPI CreateSolidBrush(_In_ COLORREF)
static INT_PTR CALLBACK OnSettingChange(HWND hWnd, WPARAM wParam, LPARAM lParam)
Definition: winmain.c:1397
HWND WINAPI SetCapture(_In_ HWND hWnd)
int WINAPI FrameRect(_In_ HDC, _In_ LPCRECT, _In_ HBRUSH)
#define GetClassName
Definition: winuser.h:5783
_In_ int cchText
Definition: winuser.h:4465
BOOL WINAPI SetRect(_Out_ LPRECT, _In_ int, _In_ int, _In_ int, _In_ int)
static void Initialize()
Definition: xlate.c:212
_In_ ULONG iColor
Definition: xlateobj.h:17
WCHAR * LPWSTR
Definition: xmlstorage.h:184
const CHAR * LPCTSTR
Definition: xmlstorage.h:193
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185