📄 empedimp.cpp
字号:
return Error(e.Message.c_str(), IID_IEmpEditX);
}
return S_OK;
};
//---------------------------------------------------------------------------
STDMETHODIMP TEmpEditXImpl::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_IEmpEditX);
}
return S_OK;
};
//---------------------------------------------------------------------------
STDMETHODIMP TEmpEditXImpl::set_Cursor(short Value)
{
try
{
const DISPID dispid = 12;
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_IEmpEditX);
}
return S_OK;
};
//---------------------------------------------------------------------------
STDMETHODIMP TEmpEditXImpl::set_DropTarget(TOLEBOOL Value)
{
try
{
const DISPID dispid = 9;
if (FireOnRequestEdit(dispid) == S_FALSE)
return S_FALSE;
m_VclCtl->DropTarget = Value;
FireOnChanged(dispid);
}
catch(Exception &e)
{
return Error(e.Message.c_str(), IID_IEmpEditX);
}
return S_OK;
};
//---------------------------------------------------------------------------
STDMETHODIMP TEmpEditXImpl::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_IEmpEditX);
}
return S_OK;
};
//---------------------------------------------------------------------------
STDMETHODIMP TEmpEditXImpl::set_Font(IFontDisp* Value)
{
try
{
const DISPID dispid = -512;
if (FireOnRequestEdit(dispid) == S_FALSE)
return S_FALSE;
SetOleFont(m_VclCtl->Font, Value);
FireOnChanged(dispid);
}
catch(Exception &e)
{
return Error(e.Message.c_str(), IID_IEmpEditX);
}
return S_OK;
};
//---------------------------------------------------------------------------
STDMETHODIMP TEmpEditXImpl::set_HelpFile(BSTR Value)
{
try
{
const DISPID dispid = 10;
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_IEmpEditX);
}
return S_OK;
};
//---------------------------------------------------------------------------
STDMETHODIMP TEmpEditXImpl::set_KeyPreview(TOLEBOOL Value)
{
try
{
const DISPID dispid = 4;
if (FireOnRequestEdit(dispid) == S_FALSE)
return S_FALSE;
m_VclCtl->KeyPreview = Value;
FireOnChanged(dispid);
}
catch(Exception &e)
{
return Error(e.Message.c_str(), IID_IEmpEditX);
}
return S_OK;
};
//---------------------------------------------------------------------------
STDMETHODIMP TEmpEditXImpl::set_PixelsPerInch(long Value)
{
try
{
const DISPID dispid = 5;
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_IEmpEditX);
}
return S_OK;
};
//---------------------------------------------------------------------------
STDMETHODIMP TEmpEditXImpl::set_PrintScale(TxPrintScale Value)
{
try
{
const DISPID dispid = 6;
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_IEmpEditX);
}
return S_OK;
};
//---------------------------------------------------------------------------
STDMETHODIMP TEmpEditXImpl::set_Scaled(TOLEBOOL Value)
{
try
{
const DISPID dispid = 7;
if (FireOnRequestEdit(dispid) == S_FALSE)
return S_FALSE;
m_VclCtl->Scaled = Value;
FireOnChanged(dispid);
}
catch(Exception &e)
{
return Error(e.Message.c_str(), IID_IEmpEditX);
}
return S_OK;
};
//---------------------------------------------------------------------------
STDMETHODIMP TEmpEditXImpl::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_IEmpEditX);
}
return S_OK;
};
//---------------------------------------------------------------------------
STDMETHODIMP TEmpEditXImpl::set_WindowState(TxWindowState Value)
{
try
{
const DISPID dispid = 11;
if (FireOnRequestEdit(dispid) == S_FALSE)
return S_FALSE;
m_VclCtl->WindowState = (TWindowState)(Value);
FireOnChanged(dispid);
}
catch(Exception &e)
{
return Error(e.Message.c_str(), IID_IEmpEditX);
}
return S_OK;
};
//---------------------------------------------------------------------------
void __fastcall TEmpEditXImpl::ActivateEvent(TObject *Sender)
{
Fire_OnActivate();
};
//---------------------------------------------------------------------------
void __fastcall TEmpEditXImpl::ClickEvent(TObject *Sender)
{
Fire_OnClick();
};
//---------------------------------------------------------------------------
void __fastcall TEmpEditXImpl::CreateEvent(TObject *Sender)
{
Fire_OnCreate();
};
//---------------------------------------------------------------------------
void __fastcall TEmpEditXImpl::DblClickEvent(TObject *Sender)
{
Fire_OnDblClick();
};
//---------------------------------------------------------------------------
void __fastcall TEmpEditXImpl::DeactivateEvent(TObject *Sender)
{
Fire_OnDeactivate();
};
//---------------------------------------------------------------------------
void __fastcall TEmpEditXImpl::DestroyEvent(TObject *Sender)
{
Fire_OnDestroy();
};
//---------------------------------------------------------------------------
void __fastcall TEmpEditXImpl::PaintEvent(TObject *Sender)
{
Fire_OnPaint();
};
//---------------------------------------------------------------------------
void __fastcall TEmpEditX::QueryButtonClick(TObject *Sender)
{
// Get data from the server. The number of records returned is dependent on
// the PacketRecords property of TClientDataSet. If PacketRecords is set
// to -1, then all records are returned. Otherwise, as the user scrolls
// through the data, additional records are returned in separate data packets.
//
Employees->Close();
Employees->Open();
}
//---------------------------------------------------------------------------
void __fastcall TEmpEditX::UpdateButtonClick(TObject *Sender)
{
// Apply any edits. The parameter indicates the number of errors which
// are allowed before the updating is aborted. A value of -1 indicates that
// all successful updates be applied regardless of the number of errors.
//
Employees->ApplyUpdates(-1);
}
//---------------------------------------------------------------------------
void __fastcall TEmpEditX::UndoButtonClick(TObject *Sender)
{
// Here we demonstrated a new feature in TClientDataSet, the ability to undo
// changes in reverse order. The parameter indicates if the cursor should
// be repositioned to the record associated with the change.
//
Employees->UndoLastChange(true);
}
//---------------------------------------------------------------------------
void __fastcall TEmpEditX::EmployeesReconcileError(
TClientDataSet *DataSet, EReconcileError *E, TUpdateKind UpdateKind,
TReconcileAction &Action)
{
// This is the event handler which is called when there are errors during the
// update process. To demonstrate, you can create an error by running two
// copies of this application and modifying the same record in each one.
// Here we use the standard reconcile error dialog from the object repository.
//
Action = HandleReconcileError(Owner, DataSet, UpdateKind, E);
}
//---------------------------------------------------------------------------
void __fastcall TEmpEditX::EmpDataDataChange(TObject *Sender,
TField *Field)
{
// This code is used to update the status bar to show the number of records
// that have been retrieved and our relative position with the dataset.
//
if(Employees->Active)
RecInd->Caption = Format(" %d of %d ", ARRAYOFCONST((Employees->RecNo, Employees->RecordCount)) );
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -