FLImaging 6.5.8.1
GUIPropertyMessageBox.h
1#pragma once
2#include <afxwin.h>
3#include "GUIWndCtrlBase.h"
4#include "GUIStaticText.h"
5
6namespace FLImaging
7{
8 namespace GUI
9 {
10 enum EMessageDisplayMode
11 {
12 EMessageDisplayMode_NoScroll,
13 EMessageDisplayMode_AutoScroll
14 };
15
16 class CGUIMenuItemProperty;
17
18 class FL_EXPORT CGUIPropertyMessageBox : public CGUIStaticText
19 {
20 public:
21 CGUIPropertyMessageBox();
22 virtual ~CGUIPropertyMessageBox();
23
24 /* Create*/
25 void PreSubclassWindow();
26
27 /* Setting*/
28 virtual void EnableStatusMessageBox(bool bEnable);
29 virtual bool IsStatusMessageBoxEnabled() const;
30
31 virtual void SetGUIMenuItemProperty(CGUIMenuItemProperty* pMIP);
32 CGUIMenuItemProperty* GetGUIMenuItemProperty() const;
33
34 virtual void SetMessageDisplayMode(EMessageDisplayMode eMessageDisplayMode = EMessageDisplayMode_NoScroll);
35 virtual EMessageDisplayMode GetMessageDisplayMode() const;
36
37 virtual void SetFont(CFont* pFont);
38
39 /* Message*/
40 virtual const CResult SetStatusMessage(const Base::CFLString<wchar_t>& strMessage);
41 Base::CFLString<wchar_t> GetStatusMessage() const;
42
43
44 protected:
45 /* Owner draw*/
46 virtual void DrawText(CDC* pDC);
47
48
49 protected:
50 /* Setting*/
51 bool m_bEnableMessage;
52 CGUIMenuItemProperty* m_pGUIMenuItemProperty;
53 int32_t m_i32AutoScrollPos;
54 EMessageDisplayMode m_eMessageDisplayMode;
55 CFont* m_pFont;
56
57 /* Message*/
58 CRect m_rtMessageBox;
59 Base::CFLString<wchar_t> m_strText;
60 CGUIStaticText m_staticMessageTitle;
61
62 friend class CGUIPaneProperties;
63 friend class CGUIMenuItemProperty;
64 friend class CGUIManagerPane;
65 friend class CGUITabbedPane;
66 };
67 }
68}
69