📄 focuser.h
字号:
// Focuser.h: Definition of the Focuser class
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_FOCUSER_H__8DC5101A_AF9A_48A3_87AD_2CD0B95C82F5__INCLUDED_)
#define AFX_FOCUSER_H__8DC5101A_AF9A_48A3_87AD_2CD0B95C82F5__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "resource.h" // main symbols
class ComPort;
/////////////////////////////////////////////////////////////////////////////
// Focuser
class Focuser :
public IDispatchImpl<IFocuser, &IID_IFocuser, &LIBID_DualFocus>,
public ISupportErrorInfo,
public CComObjectRoot,
public CComCoClass<Focuser,&CLSID_Focuser>
{
public:
Focuser()
{
bLinkEstablished = FALSE;
Port = NULL;
FocusNum = 0;
}
~Focuser()
{
if (Port != NULL) put_Link ( FALSE );
}
BEGIN_COM_MAP(Focuser)
COM_INTERFACE_ENTRY(IDispatch)
COM_INTERFACE_ENTRY(IFocuser)
COM_INTERFACE_ENTRY(ISupportErrorInfo)
END_COM_MAP()
//DECLARE_NOT_AGGREGATABLE(Focuser)
// Remove the comment from the line above if you don't want your object to
// support aggregation.
DECLARE_REGISTRY_RESOURCEID(IDR_Focuser)
// ISupportsErrorInfo
STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid);
protected:
BOOL bLinkEstablished;
int Timeout;
int FocusNum;
ComPort *Port;
bool GetPosition(long &Position);
bool SetPosition(long Delta);
bool GetParms(int num, char *Buf);
// IFocuser
public:
STDMETHOD(get_Temperature)(/*[out, retval]*/ float *pVal);
STDMETHOD(get_TempCompAvailable)(/*[out, retval]*/ VARIANT_BOOL *pVal);
STDMETHOD(get_TempComp)(/*[out, retval]*/ VARIANT_BOOL *pVal);
STDMETHOD(put_TempComp)(/*[in]*/ VARIANT_BOOL newVal);
STDMETHOD(get_StepSize)(/*[out, retval]*/ float *pVal);
STDMETHOD(SetupDialog)();
STDMETHOD(get_Position)(/*[out, retval]*/ long *pVal);
STDMETHOD(Move)(long Position);
STDMETHOD(get_MaxStep)(/*[out, retval]*/ long *pVal);
STDMETHOD(get_MaxIncrement)(/*[out, retval]*/ long *pVal);
STDMETHOD(get_Link)(/*[out, retval]*/ VARIANT_BOOL *pVal);
STDMETHOD(put_Link)(/*[in]*/ VARIANT_BOOL newVal);
STDMETHOD(get_IsMoving)(/*[out, retval]*/ VARIANT_BOOL *pVal);
STDMETHOD(Halt)();
STDMETHOD(get_Absolute)(/*[out, retval]*/ VARIANT_BOOL *pVal);
};
#endif // !defined(AFX_FOCUSER_H__8DC5101A_AF9A_48A3_87AD_2CD0B95C82F5__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -