2#include "DefinitionsGUI.h"
3#include "DefinitionsGUIResource.h"
21 class CGUIMainFrameTabCtrl;
23 class CGUIMenuBarMDITab;
25 typedef std::function<void(
void*)> CMenuBarCallback;
26 #define MakeMenuBarCallback [=](void* pItem) -> void
40 virtual ~CGUIMenuBar();
67 virtual void DrawLogo(Gdiplus::Graphics& memG,
const CRect& rcDst, COLORREF clrBg);
751 virtual const CResult SetUserDefinedInfoAt(int32_t i32Index,
const Base::CFLString<wchar_t>& strInfo, COLORREF clrBackground = RGB(80, 80, 80), COLORREF clrText = RGB(255, 255, 255),
bool bShow =
true,
EGUIAlignment eAlign =
EGUIAlignment_CENTER_CENTER,
EGUIStringTrimming eStringTrimming =
EGUIStringTrimming_EllipsisCharacter);
791 virtual const CResult InsertUserDefinedInfoAt(int32_t i32Index,
const Base::CFLString<wchar_t>& strInfo, COLORREF clrBackground = RGB(80, 80, 80), COLORREF clrText = RGB(255, 255, 255),
bool bShow =
true,
EGUIAlignment eAlign =
EGUIAlignment_CENTER_CENTER,
EGUIStringTrimming eStringTrimming =
EGUIStringTrimming_EllipsisCharacter);
834 virtual BOOL LoadState(LPCTSTR lpszProfileName = NULL,
int nIndex = -1, UINT uiID = (UINT)-1)
override;
835 virtual BOOL SaveState(LPCTSTR lpszProfileName = NULL,
int nIndex = -1, UINT uiID = (UINT)-1)
override;
837 DeclareGetClassType();
841 Gdiplus::Color m_crBackground;
842 Gdiplus::Color m_crText;
843 COLORREF m_clrBackgroundCurrentModel;
844 COLORREF m_clrTextCurrentModel;
845 COLORREF m_clrBackgroundCurrentUserID;
846 COLORREF m_clrTextCurrentUserID;
852 bool m_bLButtonDblClk;
853 bool m_bMouseDragMaximize;
854 CPoint m_ptDragStart;
858 int32_t m_i32ButtonWidth;
859 int32_t m_i32ButtonHeight;
860 int32_t m_i32MinWidth;
861 int32_t m_i32ItemWidthLeft;
862 int32_t m_i32LeftItemMinPosX;
863 int32_t m_i32TitleBarMinWidth;
864 int32_t m_i32ItemWidthRight;
865 int32_t m_i32ItemCountRight;
866 int32_t m_i32ItemCount;
867 int32_t m_i32LeftStartPos;
869 int32_t m_i32HitButton;
872 int32_t m_i32AnimationIdx;
873 int32_t m_i32AnimationIdxDirection;
874 unsigned char m_crTitleBk;
875 Gdiplus::Bitmap* m_pLogoImage;
876 int32_t m_i32BmpWidth, m_i32BmpHeight;
878 CRect m_rtTitleBarPrev;
879 CRect m_rtClose, m_rtRestore, m_rtMinimize;
880 CRect m_rtInfoCurrentModelName;
881 CRect m_rtInfoCurrentUserID;
885 bool m_bAboutToMaximize;
887 CPoint m_ptPrevMouse;
888 double m_f64MoveThreshold;
889 double m_f64MoveDistance;
892 std::vector<unsigned char> m_vctLogoBkClr;
894 CGUIMainFrameTabCtrl* m_pMainFrameTabCtrl;
897 CToolTipCtrl m_ToolTip;
900 bool m_bHitTimerInstalled;
902 bool m_bEnableBtnMinimize;
903 bool m_bEnableBtnMaximize;
904 bool m_bEnableBtnClose;
907 void DoPaint(CDC* pDCPaint);
908 void DrawTitle(CDC* pDCPaint);
909 void UpdateAnimation();
911 const CResult LoadLogoImage(UINT nIDResource,
EImageResourceType eImageResourceType = EImageResourceType_PNG, HINSTANCE hInst = NULL);
914 afx_msg
int OnCreate(LPCREATESTRUCT lpCreateStruct);
915 afx_msg BOOL OnEraseBkgnd(CDC* pDC);
916 afx_msg
void OnLButtonDown(UINT nFlags, CPoint point);
917 afx_msg
void OnLButtonUp(UINT nFlags, CPoint point);
918 afx_msg
void OnMouseMove(UINT nFlags, CPoint point);
919 afx_msg
void OnMouseLeave();
920 afx_msg
void OnLButtonDblClk(UINT nFlags, CPoint point);
921 afx_msg
void OnKillFocus(CWnd* pNewWnd);
922 afx_msg
void OnSize(UINT nType,
int cx,
int cy);
923 afx_msg
void OnMButtonUp(UINT nFlags, CPoint point);
924 afx_msg
void OnRButtonUp(UINT nFlags, CPoint point);
925 afx_msg
void OnDestroy();
926 afx_msg
void OnTimer(UINT_PTR nIDEvent);
927 DECLARE_MESSAGE_MAP()
928 virtual BOOL PreTranslateMessage(MSG* pMsg)override;
930 friend class CGUIMainFrame;
931 friend class CGUIMenuItemLogIn;
932 friend class CGUIManagerMainFrameMenuBar;
Broadcast message class.
Definition BroadcastMessage.h:27
Top-level base class of FLImaging.
Definition FLBase.h:36
Template type string class.
Definition FLString.h:34
FLImaging module execution result object.
Definition ResultsDef.h:1704
Definition D2DObject.h:12
EGUIStringTrimming
Cut option if string is out of layout square.
Definition DefinitionsGUI.h:14020
@ EGUIStringTrimming_EllipsisCharacter
Specifies that the string is broken at the boundary of the last character within the layout rectangle...
Definition DefinitionsGUI.h:14051
EGUIMenuBarHitArea
The area where the mouse is located on the menu bar.
Definition DefinitionsGUI.h:8642
EImageResourceType
Image resource type enumeration.
Definition DefinitionsGUIResource.h:43
EGUIAlignment
Alignment information.
Definition DefinitionsGUI.h:13858
@ EGUIAlignment_CENTER_CENTER
Center alignment.
Definition DefinitionsGUI.h:13961