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

📄 mycontrol_tlb.h

📁 C++Builder高级应用开发指南随书源码
💻 H
📖 第 1 页 / 共 3 页
字号:
template <class T> HRESULT __fastcall
IMyComponentXDispT<T>::get_BevelOuter(Mycontrol_tlb::TxBevelCut* Value/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BevelOuter"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)Value /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Mycontrol_tlb::TxBevelCut __fastcall
IMyComponentXDispT<T>::get_BevelOuter(void)
{
  Mycontrol_tlb::TxBevelCut Value;
  this->get_BevelOuter((Mycontrol_tlb::TxBevelCut*)&Value);
  return Value;
}

template <class T> HRESULT __fastcall
IMyComponentXDispT<T>::set_BevelOuter(Mycontrol_tlb::TxBevelCut Value/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("BevelOuter"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = (int)Value /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
IMyComponentXDispT<T>::get_BevelKind(Mycontrol_tlb::TxBevelKind* Value/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BevelKind"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)Value /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Mycontrol_tlb::TxBevelKind __fastcall
IMyComponentXDispT<T>::get_BevelKind(void)
{
  Mycontrol_tlb::TxBevelKind Value;
  this->get_BevelKind((Mycontrol_tlb::TxBevelKind*)&Value);
  return Value;
}

template <class T> HRESULT __fastcall
IMyComponentXDispT<T>::set_BevelKind(Mycontrol_tlb::TxBevelKind Value/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("BevelKind"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = (int)Value /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
IMyComponentXDispT<T>::get_BevelWidth(long* Value/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BevelWidth"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(Value /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
IMyComponentXDispT<T>::get_BevelWidth(void)
{
  long Value;
  this->get_BevelWidth((long*)&Value);
  return Value;
}

template <class T> HRESULT __fastcall
IMyComponentXDispT<T>::set_BevelWidth(long Value/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("BevelWidth"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = Value /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
IMyComponentXDispT<T>::get_Count(long* Value/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(Value /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
IMyComponentXDispT<T>::get_Count(void)
{
  long Value;
  this->get_Count((long*)&Value);
  return Value;
}

template <class T> HRESULT __fastcall
IMyComponentXDispT<T>::set_Count(long Value/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(5));
  TAutoArgs<1> _args;
  _args[1] = Value /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
IMyComponentXDispT<T>::get_DoubleBuffered(TOLEBOOL* Value/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DoubleBuffered"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(Value /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
IMyComponentXDispT<T>::get_DoubleBuffered(void)
{
  TOLEBOOL Value;
  this->get_DoubleBuffered((TOLEBOOL*)&Value);
  return Value;
}

template <class T> HRESULT __fastcall
IMyComponentXDispT<T>::set_DoubleBuffered(TOLEBOOL Value/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DoubleBuffered"), DISPID(6));
  TAutoArgs<1> _args;
  _args[1] = Value /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
IMyComponentXDispT<T>::get_VisibleDockClientCount(long* Value/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("VisibleDockClientCount"), DISPID(7));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(Value /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
IMyComponentXDispT<T>::get_VisibleDockClientCount(void)
{
  long Value;
  this->get_VisibleDockClientCount((long*)&Value);
  return Value;
}

template <class T> HRESULT __fastcall
IMyComponentXDispT<T>::DrawTextBiDiModeFlagsReadingOnly(long* Value/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DrawTextBiDiModeFlagsReadingOnly"), DISPID(9));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(Value /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
IMyComponentXDispT<T>::DrawTextBiDiModeFlagsReadingOnly(void)
{
  long Value;
  this->DrawTextBiDiModeFlagsReadingOnly((long*)&Value);
  return Value;
}

template <class T> HRESULT __fastcall
IMyComponentXDispT<T>::get_Enabled(TOLEBOOL* Value/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Enabled"), DISPID(-514));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(Value /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
IMyComponentXDispT<T>::get_Enabled(void)
{
  TOLEBOOL Value;
  this->get_Enabled((TOLEBOOL*)&Value);
  return Value;
}

template <class T> HRESULT __fastcall
IMyComponentXDispT<T>::set_Enabled(TOLEBOOL Value/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Enabled"), DISPID(-514));
  TAutoArgs<1> _args;
  _args[1] = Value /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
IMyComponentXDispT<T>::InitiateAction()
{
  _TDispID _dispid(*this, OLETEXT("InitiateAction"), DISPID(10));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
IMyComponentXDispT<T>::IsRightToLeft(TOLEBOOL* Value/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IsRightToLeft"), DISPID(11));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(Value /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
IMyComponentXDispT<T>::IsRightToLeft(void)
{
  TOLEBOOL Value;
  this->IsRightToLeft((TOLEBOOL*)&Value);
  return Value;
}

template <class T> HRESULT __fastcall
IMyComponentXDispT<T>::UseRightToLeftReading(TOLEBOOL* Value/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("UseRightToLeftReading"), DISPID(14));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(Value /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
IMyComponentXDispT<T>::UseRightToLeftReading(void)
{
  TOLEBOOL Value;
  this->UseRightToLeftReading((TOLEBOOL*)&Value);
  return Value;
}

template <class T> HRESULT __fastcall
IMyComponentXDispT<T>::UseRightToLeftScrollBar(TOLEBOOL* Value/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("UseRightToLeftScrollBar"), DISPID(15));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(Value /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
IMyComponentXDispT<T>::UseRightToLeftScrollBar(void)
{
  TOLEBOOL Value;
  this->UseRightToLeftScrollBar((TOLEBOOL*)&Value);
  return Value;
}

template <class T> HRESULT __fastcall
IMyComponentXDispT<T>::get_Visible(TOLEBOOL* Value/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Visible"), DISPID(16));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(Value /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
IMyComponentXDispT<T>::get_Visible(void)
{
  TOLEBOOL Value;
  this->get_Visible((TOLEBOOL*)&Value);
  return Value;
}

template <class T> HRESULT __fastcall
IMyComponentXDispT<T>::set_Visible(TOLEBOOL Value/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Visible"), DISPID(16));
  TAutoArgs<1> _args;
  _args[1] = Value /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
IMyComponentXDispT<T>::get_Cursor(short* Value/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Cursor"), DISPID(17));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(Value /*[VT_I2:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> short __fastcall
IMyComponentXDispT<T>::get_Cursor(void)
{
  short Value;
  this->get_Cursor((short*)&Value);
  return Value;
}

template <class T> HRESULT __fastcall
IMyComponentXDispT<T>::set_Cursor(short Value/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Cursor"), DISPID(17));
  TAutoArgs<1> _args;
  _args[1] = Value /*[VT_I2:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
IMyComponentXDispT<T>::AboutBox()
{
  _TDispID _dispid(*this, OLETEXT("AboutBox"), DISPID(-552));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  IMyComponentXEvents
// Flags:     (0)
// GUID:      {0E86EEC9-B455-4242-851D-E5350E35F61F}
// *********************************************************************//
template <class T> void __fastcall
IMyComponentXEventsDispT<T>::OnClick()
{
  _TDispID _dispid(/* OnClick */ DISPID(1));
  OleProcedure(_dispid);
}

template <class T> void __fastcall
IMyComponentXEventsDispT<T>::OnCountChanged(long* Count/*[in,out]*/)
{
  _TDispID _dispid(/* OnCountChanged */ DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = Count /*[VT_I4:1]*/;
  OleProcedure(_dispid, _args);
}

#endif  //   __TLB_NO_INTERFACE_WRAPPERS


#if !defined(__TLB_NO_EVENT_WRAPPERS) && defined(USING_ATLVCL)
// *********************************************************************//
// CONNECTIONPOINT/EVENT PROXY
// CoClass         : MyComponentX
// Event Interface : IMyComponentXEvents
// *********************************************************************//
template <class T>
class TEvents_MyComponentX : public IConnectionPointImpl<T,
                                                 &DIID_IMyComponentXEvents,
                                                 CComUnkArray<CONNECTIONPOINT_ARRAY_SIZE> >
{
public:
  void            Fire_OnClick(void);
  void            Fire_OnCountChanged(long* Count);
protected:
  IMyComponentXEventsDisp m_EventIntfObj;
};

template <class T> void
TEvents_MyComponentX<T>::Fire_OnClick(void)
{
  T * pT = (T*)this;
  pT->Lock();
  IUnknown ** pp = m_vec.begin();
  while (pp < m_vec.end())
  {
    if (*pp != NULL)
    {
      m_EventIntfObj.Attach(*pp);
      m_EventIntfObj.OnClick();
      m_EventIntfObj.Attach(0);
    }
    pp++;
  }
  pT->Unlock();
}

template <class T> void
TEvents_MyComponentX<T>::Fire_OnCountChanged(long* Count)
{
  T * pT = (T*)this;
  pT->Lock();
  IUnknown ** pp = m_vec.begin();
  while (pp < m_vec.end())
  {
    if (*pp != NULL)
    {
      m_EventIntfObj.Attach(*pp);
      m_EventIntfObj.OnCountChanged(Count);
      m_EventIntfObj.Attach(0);
    }
    pp++;
  }
  pT->Unlock();
}

#endif  //   __TLB_NO_EVENT_WRAPPERS

};     // namespace Mycontrol_tlb

#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using  namespace Mycontrol_tlb;
#endif

#pragma option pop

#endif // __MyControl_TLB_h__

⌨️ 快捷键说明

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