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

📄 mycomponentimpl1.cpp

📁 C++Builder高级应用开发指南随书源码
💻 CPP
字号:
//$$---- activex control source ---- (stActiveXControlSource)
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop
#include <atl\atlvcl.h>

#include "MyComponentImpl1.h"
#include "About1.h"
//---------------------------------------------------------------------------
#pragma link "MyComponent"
#pragma package(smart_init)
STDMETHODIMP TMyComponentXImpl::AboutBox()
{
  try
  {
  ShowMyComponentXAbout();
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_IMyComponentX);
  }
  return S_OK;
};


STDMETHODIMP TMyComponentXImpl::DrawTextBiDiModeFlagsReadingOnly(
  long* Value)
{
  try
  {
  *Value = m_VclCtl->DrawTextBiDiModeFlagsReadingOnly();
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_IMyComponentX);
  }
  return S_OK;
};


STDMETHODIMP TMyComponentXImpl::get_BevelInner(TxBevelCut* Value)
{
  try
  {
   *Value = (TxBevelCut)(m_VclCtl->BevelInner);
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_IMyComponentX);
  }
  return S_OK;
};


STDMETHODIMP TMyComponentXImpl::get_BevelKind(TxBevelKind* Value)
{
  try
  {
   *Value = (TxBevelKind)(m_VclCtl->BevelKind);
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_IMyComponentX);
  }
  return S_OK;
};


STDMETHODIMP TMyComponentXImpl::get_BevelOuter(TxBevelCut* Value)
{
  try
  {
   *Value = (TxBevelCut)(m_VclCtl->BevelOuter);
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_IMyComponentX);
  }
  return S_OK;
};


STDMETHODIMP TMyComponentXImpl::get_BevelWidth(long* Value)
{
  try
  {
   *Value = (long)(m_VclCtl->BevelWidth);
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_IMyComponentX);
  }
  return S_OK;
};


STDMETHODIMP TMyComponentXImpl::get_Count(long* Value)
{
  try
  {
   *Value = (long)(m_VclCtl->Count);
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_IMyComponentX);
  }
  return S_OK;
};


STDMETHODIMP TMyComponentXImpl::get_Cursor(short* Value)
{
  try
  {
   *Value = (short)(m_VclCtl->Cursor);
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_IMyComponentX);
  }
  return S_OK;
};


STDMETHODIMP TMyComponentXImpl::get_DoubleBuffered(TOLEBOOL* Value)
{
  try
  {
   *Value = m_VclCtl->DoubleBuffered;
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_IMyComponentX);
  }
  return S_OK;
};


STDMETHODIMP TMyComponentXImpl::get_Enabled(TOLEBOOL* Value)
{
  try
  {
   *Value = m_VclCtl->Enabled;
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_IMyComponentX);
  }
  return S_OK;
};


STDMETHODIMP TMyComponentXImpl::get_Visible(TOLEBOOL* Value)
{
  try
  {
   *Value = m_VclCtl->Visible;
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_IMyComponentX);
  }
  return S_OK;
};


STDMETHODIMP TMyComponentXImpl::get_VisibleDockClientCount(long* Value)
{
  try
  {
   *Value = (long)(m_VclCtl->VisibleDockClientCount);
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_IMyComponentX);
  }
  return S_OK;
};


STDMETHODIMP TMyComponentXImpl::InitiateAction()
{
  try
  {
  m_VclCtl->InitiateAction();
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_IMyComponentX);
  }
  return S_OK;
};


STDMETHODIMP TMyComponentXImpl::IsRightToLeft(TOLEBOOL* Value)
{
  try
  {
  *Value = m_VclCtl->IsRightToLeft();
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_IMyComponentX);
  }
  return S_OK;
};


STDMETHODIMP TMyComponentXImpl::set_BevelInner(TxBevelCut Value)
{
  try
  {
    const DISPID dispid = 1;
    if (FireOnRequestEdit(dispid) == S_FALSE)
     return S_FALSE;
    m_VclCtl->BevelInner = (TBevelCut)(Value);
    FireOnChanged(dispid);
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_IMyComponentX);
  }
  return S_OK;
};


STDMETHODIMP TMyComponentXImpl::set_BevelKind(TxBevelKind Value)
{
  try
  {
    const DISPID dispid = 3;
    if (FireOnRequestEdit(dispid) == S_FALSE)
     return S_FALSE;
    m_VclCtl->BevelKind = (TBevelKind)(Value);
    FireOnChanged(dispid);
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_IMyComponentX);
  }
  return S_OK;
};


STDMETHODIMP TMyComponentXImpl::set_BevelOuter(TxBevelCut Value)
{
  try
  {
    const DISPID dispid = 2;
    if (FireOnRequestEdit(dispid) == S_FALSE)
     return S_FALSE;
    m_VclCtl->BevelOuter = (TBevelCut)(Value);
    FireOnChanged(dispid);
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_IMyComponentX);
  }
  return S_OK;
};


STDMETHODIMP TMyComponentXImpl::set_BevelWidth(long Value)
{
  try
  {
    const DISPID dispid = 4;
    if (FireOnRequestEdit(dispid) == S_FALSE)
     return S_FALSE;
    m_VclCtl->BevelWidth = (int)(Value);
    FireOnChanged(dispid);
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_IMyComponentX);
  }
  return S_OK;
};


STDMETHODIMP TMyComponentXImpl::set_Count(long Value)
{
  try
  {
    const DISPID dispid = 5;
    if (FireOnRequestEdit(dispid) == S_FALSE)
     return S_FALSE;
    m_VclCtl->Count = (int)(Value);
    FireOnChanged(dispid);
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_IMyComponentX);
  }
  return S_OK;
};


STDMETHODIMP TMyComponentXImpl::set_Cursor(short Value)
{
  try
  {
    const DISPID dispid = 17;
    if (FireOnRequestEdit(dispid) == S_FALSE)
     return S_FALSE;
    m_VclCtl->Cursor = (TCursor)(Value);
    FireOnChanged(dispid);
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_IMyComponentX);
  }
  return S_OK;
};


STDMETHODIMP TMyComponentXImpl::set_DoubleBuffered(TOLEBOOL Value)
{
  try
  {
    const DISPID dispid = 6;
    if (FireOnRequestEdit(dispid) == S_FALSE)
     return S_FALSE;
    m_VclCtl->DoubleBuffered = Value;
    FireOnChanged(dispid);
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_IMyComponentX);
  }
  return S_OK;
};


STDMETHODIMP TMyComponentXImpl::set_Enabled(TOLEBOOL Value)
{
  try
  {
    const DISPID dispid = -514;
    if (FireOnRequestEdit(dispid) == S_FALSE)
     return S_FALSE;
    m_VclCtl->Enabled = Value;
    FireOnChanged(dispid);
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_IMyComponentX);
  }
  return S_OK;
};


STDMETHODIMP TMyComponentXImpl::set_Visible(TOLEBOOL Value)
{
  try
  {
    const DISPID dispid = 16;
    if (FireOnRequestEdit(dispid) == S_FALSE)
     return S_FALSE;
    m_VclCtl->Visible = Value;
    FireOnChanged(dispid);
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_IMyComponentX);
  }
  return S_OK;
};


STDMETHODIMP TMyComponentXImpl::UseRightToLeftReading(TOLEBOOL* Value)
{
  try
  {
  *Value = m_VclCtl->UseRightToLeftReading();
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_IMyComponentX);
  }
  return S_OK;
};


STDMETHODIMP TMyComponentXImpl::UseRightToLeftScrollBar(TOLEBOOL* Value)
{
  try
  {
  *Value = m_VclCtl->UseRightToLeftScrollBar();
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_IMyComponentX);
  }
  return S_OK;
};


void __fastcall TMyComponentXImpl::ClickEvent(TObject *Sender)
{
  Fire_OnClick();
}


void __fastcall TMyComponentXImpl::CountChangedEvent(TObject *Sender,
  int &Count)
{
  long TempCount;
  TempCount = (long)Count;
  Fire_OnCountChanged(&TempCount);
  Count = (long)TempCount;
}


⌨️ 快捷键说明

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