⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tbareditctrldbl.h

📁 BCAM 1394 Driver
💻 H
字号:
//-----------------------------------------------------------------------------
//  (c) 2002 by Basler Vision Technologies
//  Section:  Vision Components
//  Project:  BCAM
//  $Header: TBarEditCtrlDbl.h, 2, 02.10.2002 14:31:30, Nebelung, H.$
//-----------------------------------------------------------------------------
/**
  \file     TBarEditCtrlDbl.h
  \brief    interface for the CTBarEditCtrlDbl class.
*/

#if !defined(AFX_TBAREDITCTRLDBL_H__7158A077_F90C_11D4_8EF4_00105AC44283__INCLUDED_)
#define AFX_TBAREDITCTRLDBL_H__7158A077_F90C_11D4_8EF4_00105AC44283__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "TBarEditCtrlBase.h"

//////////////////////////////////////////////////////////////////////
/// Control using doubles
class CTBarEditCtrlDbl : public CTBarEditCtrlBase  
{
public:
        typedef int (*FMTVAL)           (char *szBuffer, int nValue, int nWidth, int nPrecision);
        
private:
        FMTVAL                                                                          m_pFmtFnc;

        double                                                                          m_dLineSize;
        double                                                                          m_dPageSize;

public:
                                                                                         CTBarEditCtrlDbl(bool bPostMsgEnabled = true);
        virtual                                                                         ~CTBarEditCtrlDbl();

        // overridden CTrackBarCtrl methods
        bool                                                                            SetRangeMin(double dRangeMin, bool bRedraw = true);
        bool                                                                            SetRangeMax(double dRangeMax, bool bRedraw = true);
        bool                                                                            SetRange(double dRangeMin, double dRangeMax, bool bRedraw = true);

        double                                                                          GetRangeMin() const;
        double                                                                          GetRangeMax() const;
        void                                                                            GetRange(double& dMin, double& dMax) const;

        bool                                                                            SetValue(double dValue, bool bTrackThumb = true);
        bool                                                                            DDXValue(UINT nID, double &dValue, BOOL bSave, BOOL bValidate = false);

        double                                                                          GetValue();

        double                                                                          SetLineSize(double dLogSize);

        double                                                                          GetLineSize(void);

        double                                                                          SetPageSize(double dLogSize);

        double                                                                          GetPageSize(void);

        bool                                                                            SetFormatFnc(FMTVAL pFmtFnc);

        // overridden CTBarEditCtrlBase methods
        bool                                                                            GoCenterValue();
        void                                                                            SetPrecision(int nPrecision, int nWidth = 0);

private:

        typedef enum                                            {       RND_UP, RND_DOWN, RND_AUTO,     
        } RND_TYPE;

        double                                                                          RoundValue(double dValue, RND_TYPE rndType);
        double                                                                          RoundUp(double dValue)          {       return RoundValue(dValue, RND_UP);              };
        double                                                                          RoundDown(double dValue)        {       return RoundValue(dValue, RND_DOWN);    };
        double                                                                          Round(double dValue)                    {       return RoundValue(dValue, RND_AUTO);    };

        bool                                                                            InternalSetValue(double dValue, bool bTrackThumb = true);

        // overridden CTBarEditCtrlBase methods
        bool                                                                            LimitValue();
        void                                                                            UpdateValue();
        bool                                                                            UpdateEditText();
        void                                                                            UndoInput();
        LRESULT                                                                         HScroll(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);

        // overridden CTBarCtrlBase methods
        bool                                                                            UpdateRange(bool bRedraw /*= true*/);
        void                                                                            UpdateRangeText();
        bool                                                                            NotifyRangeChanged(bool bRedraw = true);
        
        int                                                                             FmtValue(char *szBuf, int nValue) { return 0; };
        int                                                                             FmtValue(char *szBuf, double dValue);
};

#endif // !defined(AFX_TBAREDITCTRLDBL_H__7158A077_F90C_11D4_8EF4_00105AC44283__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -