FLImaging 6.9.12.2
GUIEditBase.h
1#pragma once
2
10
11#include <afxwin.h>
12
14namespace FLImaging
15{
17 namespace GUI
18 {
26 class FL_EXPORT CGUIEditBase : public CEdit
27 {
28 public:
39 {
48
57
66
75
84
93
102 };
103
104 public:
112
119 virtual ~CGUIEditBase();
120
132
143 virtual const CResult SetValue(const Base::CFLString<wchar_t>& flstrValue);
144
153 virtual int32_t GetValueAsInt32() const;
154
163 virtual int64_t GetValueAsInt64() const;
164
173 virtual double GetValueAsDouble() const;
174
175 DECLARE_MESSAGE_MAP()
176 public:
183 virtual void OnEditPaste();
184
191 virtual void OnEditCut();
192
203 virtual void SetInputType(EInputType eInputType);
204
215 virtual EInputType GetInputType() const;
216
233 virtual void SetUserDefinedInput(Base::CFLString<wchar_t> cstrInvalidCharSet, Base::CFLString<wchar_t> cstrValidCharSet);
234
245 virtual void SetToolTipText(Base::CFLString<wchar_t> cstrToolTipText);
246
247 static void SetBackgroundColor(COLORREF clr);
248 static COLORREF GetBackgroundColor();
249
250 static void SetBackgroundColorReadOnly(COLORREF clr);
251 static COLORREF GetBackgroundColorReadOnly();
252
253 static void SetBorderColorActive(COLORREF clr);
254 static COLORREF GetBorderColorActive();
255
256 static void SetTextColor(COLORREF clr);
257 static COLORREF GetTextColor();
258
259 static void SetTextColorReadOnly(COLORREF clr);
260 static COLORREF GetTextColorReadOnly();
261
262 protected:
263 virtual BOOL PreTranslateMessage(MSG* pMsg);
264
265 virtual BOOL CopyToClipboard(Base::CFLString<wchar_t> str);
266 virtual Base::CFLString<wchar_t> PasteFromClipboard();
267 virtual bool CheckValidInput(UINT nNewChar, int32_t i32Index, Base::CFLString<wchar_t> strExist) const;
268 virtual void DeletePreviousWord();
269
270 protected:
271 EInputType m_eInputType;
272 Base::CFLString<wchar_t> m_cstrInvalidCharSet;
273 Base::CFLString<wchar_t> m_cstrValidCharSet;
274 CToolTipCtrl m_ToolTip;
275 Base::CFLString<wchar_t> m_cstrToolTipText;
276 CBrush m_brBackground;
277 CBrush m_brBackgroundReadOnly;
278 int32_t m_i32SelStart;
279 int32_t m_i32SelEnd;
280
281 static COLORREF m_clrBk;
282 static COLORREF m_clrBkReadOnly;
283 static COLORREF m_clrBorderActive;
284 static COLORREF m_clrText;
285 static COLORREF m_clrTextReadOnly;
286
287 public:
288 afx_msg void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags);
289 afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
290 afx_msg void OnDestroy();
291 afx_msg HBRUSH CtlColor(CDC* pDC, UINT nCtlColor);
292 afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
293 };
294
296 {
297 return static_cast<CGUIEditBase::EInputType>(static_cast<int32_t>(a) | static_cast<int32_t>(b));
298 }
299
301 {
302 return static_cast<CGUIEditBase::EInputType>(static_cast<int32_t>(a) & static_cast<int32_t>(b));
303 }
304
305 inline CGUIEditBase::EInputType operator~(CGUIEditBase::EInputType a)
306 {
307 return static_cast<CGUIEditBase::EInputType>(~static_cast<int32_t>(a));
308 }
309
310 inline bool operator!(CGUIEditBase::EInputType a)
311 {
312 return static_cast<bool>(!static_cast<int32_t>(a));
313 }
314 }
315}
Template type string class.
Definition FLString.h:34
FLImaging module execution result object.
Definition ResultsDef.h:1605
virtual void OnEditPaste()
Function that is invoked by a paste event.
virtual ~CGUIEditBase()
Default destructor.
virtual int32_t GetValueAsInt32() const
Returns the value converted from the input value to integer(int32_t) type.
virtual EInputType GetInputType() const
Get the type of input values.
virtual Base::CFLString< wchar_t > GetValue() const
Get string value.
virtual double GetValueAsDouble() const
Returns the value converted from the input value to double type.
virtual const CResult SetValue(const Base::CFLString< wchar_t > &flstrValue)
A function that sets the input value, the value is modified and stored for the input type you set.
virtual int64_t GetValueAsInt64() const
Returns the value converted from the input value to integer(int64_t) type.
EInputType
Input type.
Definition GUIEditBase.h:39
@ EInputType_All
All type.
Definition GUIEditBase.h:47
@ EInputType_Int
Integer type.
Definition GUIEditBase.h:56
@ EInputType_Number
Number.
Definition GUIEditBase.h:83
@ EInputType_Float
Floating point type (including integer type)
Definition GUIEditBase.h:65
@ EInputType_UserDefined
User defined.
Definition GUIEditBase.h:101
@ EInputType_FileName
File name.
Definition GUIEditBase.h:74
@ EInputType_Alphabet
Alphabet.
Definition GUIEditBase.h:92
virtual void OnEditCut()
Function that is invoked by a cut event.
CGUIEditBase()
Default constructor.
virtual void SetToolTipText(Base::CFLString< wchar_t > cstrToolTipText)
Set the tooltip text.
virtual void SetUserDefinedInput(Base::CFLString< wchar_t > cstrInvalidCharSet, Base::CFLString< wchar_t > cstrValidCharSet)
Set the character set to be denied or accept input.
virtual void SetInputType(EInputType eInputType)
Specify the type of input values by EInputType.
Definition AESCryptography.h:18
Definition D2DObject.h:12