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

📄 lmnetimpl.cpp

📁 C++BUILDER与MATLAB实现混合编程源代码
💻 CPP
字号:
//$$---- Active Form CPP ---- (stActiveFormSource)
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop
#include <atl\atlvcl.h>
#include "NetTest.h"
#include "LmNetImpl.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TLmNetX *LmNetX;
//---------------------------------------------------------------------------
__fastcall TLmNetX::TLmNetX(HWND ParentWindow)
        : TActiveForm(ParentWindow)
{
}
//---------------------------------------------------------------------------

STDMETHODIMP TLmNetXImpl::_set_Font(IFontDispPtr* Value)
{
  try
  {
    const DISPID dispid = -512;
    if (FireOnRequestEdit(dispid) == S_FALSE)
      return S_FALSE;
    SetVclCtlProp(m_VclCtl->Font, Value);
    FireOnChanged(dispid);
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_ILmNetX);
  }
  return S_OK;
};


STDMETHODIMP TLmNetXImpl::get_Active(TOLEBOOL* Value)
{
  try
  {
   *Value = m_VclCtl->Active;
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_ILmNetX);
  }
  return S_OK;
};


STDMETHODIMP TLmNetXImpl::get_AutoScroll(TOLEBOOL* Value)
{
  try
  {
   *Value = m_VclCtl->AutoScroll;
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_ILmNetX);
  }
  return S_OK;
};


STDMETHODIMP TLmNetXImpl::get_AutoSize(TOLEBOOL* Value)
{
  try
  {
   *Value = m_VclCtl->AutoSize;
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_ILmNetX);
  }
  return S_OK;
};


STDMETHODIMP TLmNetXImpl::get_AxBorderStyle(TxActiveFormBorderStyle* Value)
{
  try
  {
   *Value = (TxActiveFormBorderStyle)(m_VclCtl->AxBorderStyle);
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_ILmNetX);
  }
  return S_OK;
};


STDMETHODIMP TLmNetXImpl::get_BorderWidth(long* Value)
{
  try
  {
   *Value = (long)(m_VclCtl->BorderWidth);
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_ILmNetX);
  }
  return S_OK;
};


STDMETHODIMP TLmNetXImpl::get_Caption(BSTR* Value)
{
  try
  {
    *Value = WideString(m_VclCtl->Caption).Copy();
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_ILmNetX);
  }
  return S_OK;
};


STDMETHODIMP TLmNetXImpl::get_Color(::OLE_COLOR* Value)
{
  try
  {
   *Value = (::OLE_COLOR)(m_VclCtl->Color);
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_ILmNetX);
  }
  return S_OK;
};


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


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


STDMETHODIMP TLmNetXImpl::get_DropTarget(TOLEBOOL* Value)
{
  try
  {
   *Value = m_VclCtl->DropTarget;
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_ILmNetX);
  }
  return S_OK;
};


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


STDMETHODIMP TLmNetXImpl::get_Font(IFontDispPtr* Value)
{
  try
  {
    GetVclCtlProp(m_VclCtl->Font, Value);
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_ILmNetX);
  }
  return S_OK;
};


STDMETHODIMP TLmNetXImpl::get_HelpFile(BSTR* Value)
{
  try
  {
    *Value = WideString(m_VclCtl->HelpFile).Copy();
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_ILmNetX);
  }
  return S_OK;
};


STDMETHODIMP TLmNetXImpl::get_KeyPreview(TOLEBOOL* Value)
{
  try
  {
   *Value = m_VclCtl->KeyPreview;
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_ILmNetX);
  }
  return S_OK;
};


STDMETHODIMP TLmNetXImpl::get_PixelsPerInch(long* Value)
{
  try
  {
   *Value = (long)(m_VclCtl->PixelsPerInch);
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_ILmNetX);
  }
  return S_OK;
};


STDMETHODIMP TLmNetXImpl::get_PrintScale(TxPrintScale* Value)
{
  try
  {
   *Value = (TxPrintScale)(m_VclCtl->PrintScale);
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_ILmNetX);
  }
  return S_OK;
};


STDMETHODIMP TLmNetXImpl::get_Scaled(TOLEBOOL* Value)
{
  try
  {
   *Value = m_VclCtl->Scaled;
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_ILmNetX);
  }
  return S_OK;
};


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


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


STDMETHODIMP TLmNetXImpl::set_AutoScroll(TOLEBOOL Value)
{
  try
  {
    const DISPID dispid = 2;
    if (FireOnRequestEdit(dispid) == S_FALSE)
     return S_FALSE;
    m_VclCtl->AutoScroll = Value;
    FireOnChanged(dispid);
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_ILmNetX);
  }
  return S_OK;
};


STDMETHODIMP TLmNetXImpl::set_AutoSize(TOLEBOOL Value)
{
  try
  {
    const DISPID dispid = 3;
    if (FireOnRequestEdit(dispid) == S_FALSE)
     return S_FALSE;
    m_VclCtl->AutoSize = Value;
    FireOnChanged(dispid);
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_ILmNetX);
  }
  return S_OK;
};


STDMETHODIMP TLmNetXImpl::set_AxBorderStyle(TxActiveFormBorderStyle Value)
{
  try
  {
    const DISPID dispid = 4;
    if (FireOnRequestEdit(dispid) == S_FALSE)
     return S_FALSE;
    m_VclCtl->AxBorderStyle = (TActiveFormBorderStyle)(Value);
    FireOnChanged(dispid);
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_ILmNetX);
  }
  return S_OK;
};


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


STDMETHODIMP TLmNetXImpl::set_Caption(BSTR Value)
{
  try
  {
    const DISPID dispid = -518;
    if (FireOnRequestEdit(dispid) == S_FALSE)
      return S_FALSE;
    m_VclCtl->Caption = AnsiString(Value);
    FireOnChanged(dispid);
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_ILmNetX);
  }
  return S_OK;
};


STDMETHODIMP TLmNetXImpl::set_Color(::OLE_COLOR Value)
{
  try
  {
    const DISPID dispid = -501;
    if (FireOnRequestEdit(dispid) == S_FALSE)
     return S_FALSE;
    m_VclCtl->Color = (TColor)(Value);
    FireOnChanged(dispid);
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_ILmNetX);
  }
  return S_OK;
};


STDMETHODIMP TLmNetXImpl::set_Cursor(short Value)
{
  try
  {
    const DISPID dispid = 15;
    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_ILmNetX);
  }
  return S_OK;
};


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


STDMETHODIMP TLmNetXImpl::set_DropTarget(TOLEBOOL Value)
{
  try
  {
    const DISPID dispid = 11;
    if (FireOnRequestEdit(dispid) == S_FALSE)
     return S_FALSE;
    m_VclCtl->DropTarget = Value;
    FireOnChanged(dispid);
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_ILmNetX);
  }
  return S_OK;
};


STDMETHODIMP TLmNetXImpl::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_ILmNetX);
  }
  return S_OK;
};


STDMETHODIMP TLmNetXImpl::set_Font(IFontDispPtr Value)
{
  try
  {
    const DISPID dispid = -512;
    if (FireOnRequestEdit(dispid) == S_FALSE)
      return S_FALSE;
    SetVclCtlProp(m_VclCtl->Font, Value);
    FireOnChanged(dispid);
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_ILmNetX);
  }
  return S_OK;
};


STDMETHODIMP TLmNetXImpl::set_HelpFile(BSTR Value)
{
  try
  {
    const DISPID dispid = 12;
    if (FireOnRequestEdit(dispid) == S_FALSE)
      return S_FALSE;
    m_VclCtl->HelpFile = AnsiString(Value);
    FireOnChanged(dispid);
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_ILmNetX);
  }
  return S_OK;
};


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


STDMETHODIMP TLmNetXImpl::set_PixelsPerInch(long Value)
{
  try
  {
    const DISPID dispid = 7;
    if (FireOnRequestEdit(dispid) == S_FALSE)
     return S_FALSE;
    m_VclCtl->PixelsPerInch = (int)(Value);
    FireOnChanged(dispid);
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_ILmNetX);
  }
  return S_OK;
};


STDMETHODIMP TLmNetXImpl::set_PrintScale(TxPrintScale Value)
{
  try
  {
    const DISPID dispid = 8;
    if (FireOnRequestEdit(dispid) == S_FALSE)
     return S_FALSE;
    m_VclCtl->PrintScale = (TPrintScale)(Value);
    FireOnChanged(dispid);
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_ILmNetX);
  }
  return S_OK;
};


STDMETHODIMP TLmNetXImpl::set_Scaled(TOLEBOOL Value)
{
  try
  {
    const DISPID dispid = 9;
    if (FireOnRequestEdit(dispid) == S_FALSE)
     return S_FALSE;
    m_VclCtl->Scaled = Value;
    FireOnChanged(dispid);
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_ILmNetX);
  }
  return S_OK;
};


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



void __fastcall TLmNetXImpl::ActivateEvent(TObject *Sender)
{
  Fire_OnActivate();
}


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


void __fastcall TLmNetXImpl::CreateEvent(TObject *Sender)
{
  Fire_OnCreate();
}


void __fastcall TLmNetXImpl::DblClickEvent(TObject *Sender)
{
  Fire_OnDblClick();
}


void __fastcall TLmNetXImpl::DeactivateEvent(TObject *Sender)
{
  Fire_OnDeactivate();
}


void __fastcall TLmNetXImpl::DestroyEvent(TObject *Sender)
{
  Fire_OnDestroy();
}


void __fastcall TLmNetXImpl::KeyPressEvent(TObject *Sender, char &Key)
{
  short TempKey;
  TempKey = (short)Key;
  Fire_OnKeyPress(&TempKey);
  Key = (short)TempKey;
}


void __fastcall TLmNetXImpl::PaintEvent(TObject *Sender)
{
  Fire_OnPaint();
}



void __fastcall TLmNetX::ActiveFormCreate(TObject *Sender)
{
    frmNnet = new TfrmNnet(this);
    frmNnet->Parent=this;
    frmNnet->Align=alClient;
    frmNnet->BorderStyle = bsNone;
    frmNnet->Visible = true;        
}
//---------------------------------------------------------------------------
 

⌨️ 快捷键说明

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