FLImaging 7.4.28.2
GUIEditBase.h
1#pragma once
2
10
11#include <afxwin.h>
12#include "GUIStyledCtrlBase.h"
13
15namespace FLImaging
16{
18 namespace GUI
19 {
27 class FL_EXPORT CGUIEditBase : public CEdit, public CGUIStyledCtrlBase
28 {
29 public:
40 {
49
58
67
76
85
94
103 };
104
105 public:
114
122 virtual ~CGUIEditBase();
123
136
150 virtual const CResult SetValue(const Base::CFLString<wchar_t>& flstrValue);
151
161 virtual int32_t GetValueAsInt32() const;
162
172 virtual int64_t GetValueAsInt64() const;
173
183 virtual double GetValueAsDouble() const;
184
185 DECLARE_MESSAGE_MAP()
186 public:
194 virtual void OnEditPaste();
195
203 virtual void OnEditCut();
204
216 virtual void SetInputType(EInputType eInputType);
217
229 virtual EInputType GetInputType() const;
230
264 virtual void SetUserDefinedInput(const Base::CFLString<wchar_t>& flstrInvalidCharSet, const Base::CFLString<wchar_t>& flstrValidCharSet);
265
277 virtual void SetToolTipText(const Base::CFLString<wchar_t>& flstrToolTipText);
278
298 virtual void SetWindowTextKeepCaret(const Base::CFLString<wchar_t>& flstrText);
299
300 virtual void NotifyParentPropertyEditing();
301
302 virtual void SetTextAlignment(EGUIAlignment eAlign) override;
303
304 virtual void UpdateTheme();
305
306 virtual void SetFillColorNormal(COLORREF clr);
307 virtual COLORREF GetFillColorNormal();
308
309 virtual void SetFillColorReadOnly(COLORREF clr);
310 virtual COLORREF GetFillColorReadOnly();
311
312 virtual void SetBorderColorActive(COLORREF clr);
313 virtual COLORREF GetBorderColorActive();
314
315 virtual void SetTextColorNormal(COLORREF clr);
316 virtual COLORREF GetTextColorNormal();
317
318 virtual void SetTextColorReadOnly(COLORREF clr);
319 virtual COLORREF GetTextColorReadOnly();
320
321 static void SetGlobalFillColorNormal(COLORREF clr);
322 static COLORREF GetGlobalFillColorNormal();
323
324 static void SetGlobalFillColorReadOnly(COLORREF clr);
325 static COLORREF GetGlobalFillColorReadOnly();
326
327 static void SetGlobalBorderColorActive(COLORREF clr);
328 static COLORREF GetGlobalBorderColorActive();
329
330 static void SetGlobalTextColorNormal(COLORREF clr);
331 static COLORREF GetGlobalTextColorNormal();
332
333 static void SetGlobalTextColorReadOnly(COLORREF clr);
334 static COLORREF GetGlobalTextColorReadOnly();
335
336 protected:
337 virtual BOOL PreTranslateMessage(MSG* pMsg);
338
339 virtual BOOL CopyToClipboard(Base::CFLString<wchar_t> str);
340 virtual Base::CFLString<wchar_t> PasteFromClipboard();
341 virtual bool CheckValidInput(UINT nNewChar, int32_t i32Index, Base::CFLString<wchar_t> strExist) const;
342 virtual void DeletePreviousWord();
343
344 virtual const CResult SetValue(const Base::CFLString<wchar_t>& flstrValue, bool bRedraw);
345
346 protected:
347 EInputType m_eInputType;
348 Base::CFLString<wchar_t> m_flsInvalidCharSet;
349 Base::CFLString<wchar_t> m_flsValidCharSet;
350 CToolTipCtrl m_ToolTip;
351 Base::CFLString<wchar_t> m_flsToolTipText;
352 Base::CFLString<wchar_t> m_flsPendingValue;
353 int32_t m_i32SelStart;
354 int32_t m_i32SelEnd;
355 bool m_bNeedToSetWindowText;
356
357 CBrush m_brBackground;
358 CBrush m_brBackgroundReadOnly;
359
360 friend class CGUIPropertyItemText;
361
362 public:
363 afx_msg void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags);
364 afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
365 afx_msg void OnDestroy();
366 afx_msg HBRUSH CtlColor(CDC* pDC, UINT nCtlColor);
367 afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
368 };
369
371 {
372 return static_cast<CGUIEditBase::EInputType>(static_cast<int32_t>(a) | static_cast<int32_t>(b));
373 }
374
376 {
377 return static_cast<CGUIEditBase::EInputType>(static_cast<int32_t>(a) & static_cast<int32_t>(b));
378 }
379
380 inline CGUIEditBase::EInputType operator~(CGUIEditBase::EInputType a)
381 {
382 return static_cast<CGUIEditBase::EInputType>(~static_cast<int32_t>(a));
383 }
384
385 inline bool operator!(CGUIEditBase::EInputType a)
386 {
387 return static_cast<bool>(!static_cast<int32_t>(a));
388 }
389 }
390}
Template type 의 문자열 클래스
Definition FLString.h:34
FLImaging 모듈의 수행 결과 객체
Definition ResultsDef.h:1676
virtual void OnEditPaste()
붙여 넣기 이벤트가 발생했을 때 실행되는 함수
virtual ~CGUIEditBase()
기본 소멸자
virtual void SetToolTipText(const Base::CFLString< wchar_t > &flstrToolTipText)
문자열 편집 창에 띄워질 툴팁을 지정하는 함수
virtual int32_t GetValueAsInt32() const
입력 값을 정수형으로 변환하여 얻어 오는 함수
virtual EInputType GetInputType() const
입력 값의 형식을 얻어오는 함수
virtual Base::CFLString< wchar_t > GetValue() const
입력 값을 얻어 오는 함수
virtual double GetValueAsDouble() const
입력 값을 double 형으로 변환하여 얻어 오는 함수
virtual const CResult SetValue(const Base::CFLString< wchar_t > &flstrValue)
입력 값을 설정하는 함수로, 설정한 Input Type 에 맞게 값이 편집되어 저장됩니다.
virtual int64_t GetValueAsInt64() const
입력 값을 정수형으로 변환하여 얻어 오는 함수
virtual void SetUserDefinedInput(const Base::CFLString< wchar_t > &flstrInvalidCharSet, const Base::CFLString< wchar_t > &flstrValidCharSet)
입력 값의 형식을 직접 지정하는 함수로, 예를 들면 A, B, C, D 네 글자 만 입력 가능하도록 설정할 수 있습니다.
EInputType
입력 값의 형식
Definition GUIEditBase.h:40
@ EInputType_All
모든 값 입력 가능
Definition GUIEditBase.h:48
@ EInputType_Int
정수 값 타입
Definition GUIEditBase.h:57
@ EInputType_Number
숫자만 입력 가능
Definition GUIEditBase.h:84
@ EInputType_Float
부동 소수점, 정수 값 입력 가능
Definition GUIEditBase.h:66
@ EInputType_UserDefined
사용자 지정 값 입력 가능
Definition GUIEditBase.h:102
@ EInputType_FileName
파일명으로 유효한 값만 입력 가능
Definition GUIEditBase.h:75
@ EInputType_Alphabet
알파벳 값 입력 가능
Definition GUIEditBase.h:93
virtual void OnEditCut()
잘라내기 이벤트가 발생했을 때 실행되는 함수
CGUIEditBase()
기본 생성자
virtual void SetWindowTextKeepCaret(const Base::CFLString< wchar_t > &flstrText)
현재 캐럿(커서) 위치를 유지하면서 에디트 컨트롤의 텍스트를 설정합니다.
virtual void SetInputType(EInputType eInputType)
EInputType 으로 입력 값의 형식을 지정하는 함수
Definition AESCryptography.h:18
Definition D2DObject.h:12
EGUIAlignment
정렬 정보
Definition DefinitionsGUI.h:10674