WIL説明書(C++)  3.0.0
EvEditCtrl.h
[詳解]
1 // $Revision: 1.1 $
2 /*
3  @file EvEditCtrl.h
4  @brief CEvEditCtrl class header
5  @author FAST Corporation
6 */
7 
8 #ifndef _EVEDITCTRL_H_INCLUDED_
9 #define _EVEDITCTRL_H_INCLUDED_
10 
11 #if _MSC_VER > 1000
12 #pragma once
13 #endif // _MSC_VER > 1000
14 
15 // ///////////////////////////////////////////////////////////////////////////
16 // INCLUDE
17 #include "EvDlgCtrl.h"
18 #include "EvProgressCtrl.h"
19 
20 // ///////////////////////////////////////////////////////////////////////////
21 // CLASS
22 #pragma pack(push,_FVCL_PACKING)
23 
24 class EVC_API CEvEditCtrl : public CEvDlgCtrl
25 {
26 public:
27  CEvEditCtrl( CWnd* parent=NULL, UINT dlgid=IDD );
28 
29  //{{AFX_DATA(CEvEditCtrl)
30  enum { IDD = IDD_EVC_EDITCTRL };
31  CString m_strValue;
32  CSpinButtonCtrl m_spinRange;
34  //}}AFX_DATA
35 
36  //{{AFX_VIRTUAL(CEvEditCtrl)
37  public:
38  virtual BOOL Create( UINT ctrlID, const RECT& rect, CWnd* parent=NULL, UINT dlgid=IDD );
39  virtual BOOL EnableWindow( BOOL bEnable = TRUE );
40  virtual BOOL PreTranslateMessage(MSG* pMsg);
41  protected:
42  virtual void DoDataExchange(CDataExchange* pDX);
43  //}}AFX_VIRTUAL
44 
45 protected:
46  //{{AFX_MSG(CEvEditCtrl)
47  virtual BOOL OnInitDialog();
48  afx_msg void OnChangeEdit();
49  afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
50  afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
51  afx_msg void OnSize(UINT nType, INT cx, INT cy);
52  //}}AFX_MSG
53 
54 public:
55  // DEFINE
57  {
60  };
61 
62  // METHOD
63  virtual bool Update( bool bReDraw = true );
64 
65  bool SetRange( INT lower, INT upper );
66  bool SetRange( UINT lower, UINT upper );
67  bool SetRange( DOUBLE lower, DOUBLE upper );
68 
69  bool GetRange( INT* lower, INT* upper );
70  bool GetRange( UINT* lower, UINT* upper );
71  bool GetRange( DOUBLE* lower, DOUBLE* upper );
72 
73  bool SetSplit( UINT split );
74  bool GetSplit( UINT* split ) const;
75 
76  bool SetDecimal( UINT decimal );
77  bool GetDecimal( UINT* decimal ) const;
78 
79  bool SetValue( INT value );
80  bool SetValue( UINT value );
81  bool SetValue( DOUBLE value );
82 
83  bool GetValue( INT* value ) const;
84  bool GetValue( UINT* value ) const;
85  bool GetValue( DOUBLE* value ) const;
86 
87 protected:
88  // FUNCTION
89  INT64 Regularize( INT64 value ) const;
90  DOUBLE Regularize( DOUBLE value ) const;
91 
92  INT64 ValueToPercent( DOUBLE value ) const;
93  DOUBLE PercentToValueD( INT64 percent ) const;
94 
95  bool SetRange( CSpinButtonCtrl& ctrl, INT64 lower, INT64 upper );
96  bool SetValue( CSpinButtonCtrl& ctrl, INT64 value );
97  INT64 GetValue( const CSpinButtonCtrl& ctrl ) const;
98 
99  bool SetRange( CEvProgressCtrl& ctrl, INT64 lower, INT64 upper );
100  bool SetValue( CEvProgressCtrl& ctrl, INT64 value );
101  INT64 GetValue( const CEvProgressCtrl& ctrl ) const;
102 
103  // OBJECT
110  _TCHAR m_format[64];
111  bool m_blOmit;
112 
113  DECLARE_MESSAGE_MAP()
114 };
115 
116 #pragma pack(pop)
117 
118 //{{AFX_INSERT_LOCATION}}
119 
120 // template function
121 template<class T> BOOL CreateEditCtrl( CEvEditCtrl* ctrl, UINT ctrlID, T value, T lower, T upper, CEvDialog* parent, UINT dlgid=CEvEditCtrl::IDD )
122 {
123  if( ctrl == NULL ) return FALSE;
124  if( parent == NULL ) return FALSE;
125  CRect rect;
126  parent->GetDlgCtrlRect( ctrlID, &rect );
127  ctrl->SetRange( lower, upper );
128  ctrl->SetValue( value );
129  return ctrl->Create( ctrlID, rect, parent );
130 }
131 
132 #endif // _EVEDITCTRL_H_INCLUDED_
bool GetDlgCtrlRect(INT ctrlID, CRect *rect)
コントロールの位置/サイズ取得
Definition: EvDialog.cpp:172
virtual void DoDataExchange(CDataExchange *pDX)
ダイアログ データの交換と有効性チェック
Definition: EvDlgCtrl.cpp:29
bool m_blOmit
SPIN、PROGRESSへの反映省略
Definition: EvEditCtrl.h:111
#define IDD_EVC_EDITCTRL
ダイアログリソースID
Definition: resource.h:14
ダイアログコントロール基本クラスのヘッダ
bool SetValue(INT value)
現在値の設定
Definition: EvEditCtrl.cpp:267
ダイアログコントロール基本クラス
Definition: EvDlgCtrl.h:23
BOOL CreateEditCtrl(CEvEditCtrl *ctrl, UINT ctrlID, T value, T lower, T upper, CEvDialog *parent, UINT dlgid=CEvEditCtrl::IDD)
エディットコントロールの生成
Definition: EvEditCtrl.h:121
tagNUMERIC_TYPE m_upper
レンジ上限
Definition: EvEditCtrl.h:107
CSpinButtonCtrl m_spinRange
スピンボタン
Definition: EvEditCtrl.h:32
UINT m_decimal
小数点以下桁
Definition: EvEditCtrl.h:109
DOUBLE dbValue
実数
Definition: EvEditCtrl.h:59
int INT
整数型(32ビット)
Definition: FvDefs.h:36
プログレスバーコントロールクラスのヘッダ
CString m_strValue
エディットボックス
Definition: EvEditCtrl.h:31
数値型共用体
Definition: EvEditCtrl.h:56
数値エディットコントロールID
Definition: EvEditCtrl.h:30
virtual BOOL Create(UINT ctrlID, const RECT &rect, CWnd *parent=NULL, UINT dlgid=IDD)
モードレスダイアログの生成
Definition: EvEditCtrl.cpp:73
tagNUMERIC_TYPE m_value
現在値
Definition: EvEditCtrl.h:105
virtual BOOL PreTranslateMessage(MSG *pMsg)
ウィンドウメッセージの変換
Definition: EvDlgCtrl.cpp:81
double DOUBLE
倍精度浮動小数点型(64ビット)
Definition: FvDefs.h:62
int64_t INT64
整数型(64ビット)
Definition: FvDefs.h:41
CEvProgressCtrl m_pbarRange
プログレスバー
Definition: EvEditCtrl.h:33
矩形構造体
Definition: _structure.h:145
char _TCHAR
汎用文字型
Definition: FvDefs.h:54
プログレスバーコントロールクラス
Definition: EvProgressCtrl.h:22
bool SetRange(INT lower, INT upper)
上限値/下限値の設定 (符号つき整数)
Definition: EvEditCtrl.cpp:147
int BOOL
ブーリアン型
Definition: FvDefs.h:31
unsigned int UINT
整数型(32ビット)[符号なし]
Definition: FvDefs.h:37
ダイアログ基本クラス
Definition: EvDialog.h:25
数値エディットコントロールクラス
Definition: EvEditCtrl.h:24
INT m_type
数値の種別
Definition: EvEditCtrl.h:104
virtual BOOL OnInitDialog()
ダイアログが生成された後の最初の初期化処理
Definition: EvDlgCtrl.cpp:42
UINT m_split
レンジ分割数
Definition: EvEditCtrl.h:108
INT64 iValue
整数
Definition: EvEditCtrl.h:58
virtual BOOL Create(UINT ctrlID, const RECT &rect, CWnd *parent, UINT dlgid)
モードレスダイアログの生成
Definition: EvDlgCtrl.cpp:53
tagNUMERIC_TYPE m_lower
レンジ下限
Definition: EvEditCtrl.h:106

Documentation copyright © 2007 FAST Corporation. [B-001864]
Generated on 2023年11月02日(木) 10時12分53秒 for WIL説明書(C++) by doxygen 1.8.11