2#include "DefinitionsGUI.h" 
    9        class CGUIMainFrameTabCtrl;
 
   10        class CGUIMenuBarUserDefinedInfo;
 
   11        class CGUIMenuBarMDITab;
 
   13        typedef std::function<void(
void*)> CMenuBarCallback;
 
   14        #define MakeMenuBarCallback [=](void* pItem) -> void 
   16        class FL_EXPORT CGUIMenuBar : 
public CMFCMenuBar, 
public Base::CFLBase
 
   20            virtual ~CGUIMenuBar();
 
   23            virtual void OnFillBackground(CDC* pDC);
 
   25            virtual void SetMinWidth(int32_t i32Minwidth);
 
   26            virtual int32_t GetMinWidth()
const;
 
   28            virtual void SetTitleRectMinWidth(int32_t i32Minwidth);
 
   29            virtual int32_t GetTitleRectMinWidth()
const;
 
   31            virtual void SetLeftItemMinPosX(int32_t i32Min);
 
   32            virtual int32_t GetLeftItemMinPosX()
const;
 
   34            virtual void SetButtonWidth(int32_t i32Width);
 
   35            virtual int32_t GetButtonWidth()
const;
 
   37            virtual CRect GetTitleBarRect()
const;
 
   38            virtual void SetTitleBarRect(CRect rtTitleBar);
 
   39            virtual int GetHitButton()
const;
 
   41            virtual CWnd* GetMovableParent();
 
   43            virtual int HitTest(CPoint point) 
override;
 
   45            virtual void SetHitArea(EGUIMenuBarHitArea eHitArea);
 
   48            virtual CGUIMenuBarUserDefinedInfo* GetHitUserDefinedInfo(CPoint ptClient) 
const;
 
   50            virtual CGUIMenuBarMDITab* GetHitMDITab() 
const;
 
   52            virtual void SetToolTipText(
const Base::CFLString<wchar_t>& strToolTipText);
 
   55            virtual void SetCurrentModelNameBkColor(COLORREF clrBk);
 
   56            virtual COLORREF GetCurrentModelNameBkColor()
const;
 
   58            virtual void SetCurrentModelNameTextColor(COLORREF clrText);
 
   59            virtual COLORREF GetCurrentModelNameTextColor()
const;
 
   61            virtual void SetCurrentModelNameRect(CRect rtTitleBar);
 
   62            virtual CRect GetCurrentModelNameRect()
const;
 
   64            virtual void ShowCurrentModelName(
bool bShow);
 
   65            virtual bool IsCurrentModelNameVisible()
const;
 
   68            virtual void SetCurrentUserIDBkColor(COLORREF clrBk);
 
   69            virtual COLORREF GetCurrentUserIDBkColor()
const;
 
   71            virtual void SetCurrentUserIDTextColor(COLORREF clrText);
 
   72            virtual COLORREF GetCurrentUserIDTextColor()
const;
 
   74            virtual void SetCurrentUserIDRect(CRect rtTitleBar);
 
   75            virtual CRect GetCurrentUserIDRect()
const;
 
   77            virtual void ShowCurrentUserID(
bool bShow);
 
   78            virtual bool IsCurrentUserIDVisible()
const;
 
   81            virtual void PushBackUserDefinedInfo(
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);
 
   82            virtual void PushBackUserDefinedInfo(
const CGUIMenuBarUserDefinedInfo& refUDI);
 
   84            virtual void PushFrontUserDefinedInfo(
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);
 
   85            virtual void PushFrontUserDefinedInfo(
const CGUIMenuBarUserDefinedInfo& refUDI);
 
   87            virtual int32_t GetUserDefinedInfoCount()
const;
 
   88            virtual CGUIMenuBarUserDefinedInfo* PopBackUserDefinedInfo();
 
   89            virtual CGUIMenuBarUserDefinedInfo* GetBackUserDefinedInfo() 
const;
 
   90            virtual CGUIMenuBarUserDefinedInfo* PopFrontUserDefinedInfo();
 
   91            virtual CGUIMenuBarUserDefinedInfo* GetFrontUserDefinedInfo() 
const;
 
   93            virtual CGUIMenuBarUserDefinedInfo* GetUserDefinedInfoAt(int32_t i32Index) 
const;
 
   94            virtual int32_t GetUserDefinedInfoIndex(
const CGUIMenuBarUserDefinedInfo* pUDI) 
const;
 
   96            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);
 
   97            virtual const CResult SetUserDefinedInfoAt(int32_t i32Index, 
const CGUIMenuBarUserDefinedInfo& refUDI);
 
   99            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);
 
  100            virtual const CResult InsertUserDefinedInfoAt(int32_t i32Index, 
const CGUIMenuBarUserDefinedInfo& refUDI);
 
  102            virtual const CResult RemoveUserDefinedInfoAt(int32_t i32Index);
 
  103            virtual const CResult ClearUserDefinedInfo();
 
  105            virtual void OnReceiveBroadcast(
const Base::CBroadcastMessage* pMessage) 
override;
 
  107            DeclareGetClassType();
 
  111            Gdiplus::Color m_crBackground;
 
  112            Gdiplus::Color m_crText;
 
  113            COLORREF m_clrBackgroundCurrentModel;
 
  114            COLORREF m_clrTextCurrentModel;
 
  115            COLORREF m_clrBackgroundCurrentUserID;
 
  116            COLORREF m_clrTextCurrentUserID;
 
  120            Base::CFLString<wchar_t> m_strTitle;
 
  122            bool m_bLButtonDblClk;
 
  123            bool m_bMouseDragMaximize;
 
  124            CPoint m_ptDragStart;
 
  128            int32_t m_i32ButtonWidth;
 
  129            int32_t m_i32ButtonHeight;
 
  130            int32_t m_i32MinWidth;
 
  131            int32_t m_i32ItemWidthLeft;
 
  132            int32_t m_i32LeftItemMinPosX;
 
  133            int32_t m_i32TitleBarMinWidth;
 
  134            int32_t m_i32ItemWidthRight;
 
  135            int32_t m_i32ItemCountRight; 
 
  136            int32_t m_i32ItemCount;
 
  137            int32_t m_i32LeftStartPos;
 
  139            int32_t m_i32HitButton;
 
  142            int32_t m_i32AnimationIdx;
 
  143            int32_t m_i32AnimationIdxDirection;
 
  144            unsigned char m_crTitleBk;
 
  145            CImage* m_pLogoImage;
 
  146            int32_t m_i32BmpWidth, m_i32BmpHeight;
 
  148            CRect m_rtTitleBarPrev;
 
  149            CRect m_rtClose, m_rtRestore, m_rtMinimize;
 
  150            CRect m_rtInfoCurrentModelName;
 
  151            CRect m_rtInfoCurrentUserID;
 
  155            bool m_bAboutToMaximize;
 
  157            CPoint m_ptPrevMouse;
 
  158            double m_f64MoveThreshold;
 
  159            double m_f64MoveDistance;
 
  161            void DoPaint(CDC* pDCPaint);
 
  162            void DrawTitle(CDC* pDCPaint);
 
  163            void UpdateAnimation();
 
  166            std::vector<unsigned char> m_vctLogoBkClr;
 
  168            CGUIMainFrameTabCtrl* m_pMainFrameTabCtrl = 
nullptr;
 
  169            bool m_bTrackMouse = 
false;
 
  171            CToolTipCtrl m_ToolTip;
 
  172            Base::CFLString<wchar_t> m_strToolTipText;
 
  174            bool m_bHitTimerInstalled = 
false;
 
  177            afx_msg 
int OnCreate(LPCREATESTRUCT lpCreateStruct);
 
  178            afx_msg BOOL OnEraseBkgnd(CDC* pDC);
 
  179            afx_msg 
void OnLButtonDown(UINT nFlags, CPoint point);
 
  180            afx_msg 
void OnLButtonUp(UINT nFlags, CPoint point);
 
  181            afx_msg 
void OnMouseMove(UINT nFlags, CPoint point);
 
  182            afx_msg 
void OnMouseLeave();
 
  183            afx_msg 
void OnLButtonDblClk(UINT nFlags, CPoint point);
 
  184            afx_msg 
void OnKillFocus(CWnd* pNewWnd);
 
  185            afx_msg 
void OnSize(UINT nType, 
int cx, 
int cy);
 
  186            afx_msg 
void OnMButtonUp(UINT nFlags, CPoint point);
 
  187            afx_msg 
void OnRButtonUp(UINT nFlags, CPoint point);
 
  188            afx_msg 
void OnDestroy();
 
  189            afx_msg 
void OnTimer(UINT_PTR nIDEvent);
 
  190            DECLARE_MESSAGE_MAP()
 
  191            virtual BOOL PreTranslateMessage(MSG* pMsg)override;
 
  193            friend class CGUIMainFrame;
 
  194            friend class CGUIMenuItemLogIn;
 
Definition D2DObject.h:12
EGUIMenuBarHitArea
Menu bar 위에서 마우스가 위치한 영역입니다.
Definition DefinitionsGUI.h:4672
@ RGB
Definition DefinitionsBase.h:2630