//$$---- En-tête du contrôle ActiveX ---- (stActiveXControlHeader)
//---------------------------------------------------------------------------

#ifndef DLPrinterPortIOXImpl1H
#define DLPrinterPortIOXImpl1H
//---------------------------------------------------------------------------


#include "DLPrinterPort_TLB.h"
#include "DLPrinterPortIOX.h"

class ATL_NO_VTABLE TDLPrinterPortIOXXImpl:
  VCLCONTROL_IMPL(TDLPrinterPortIOXXImpl, DLPrinterPortIOXX, TDLPrinterPortIOX, IDLPrinterPortIOXX, DIID_IDLPrinterPortIOXXEvents)
{
public:

  void InitializeControl()
  {
  }


// Les entrées COM MAP déclarent les interfaces que votre objet expose (au travers de
// QueryInterface). CComRootObjectEx::InternalQueryInterface ne retourne que des
// pointeurs sur des interfaces dans l'affectation COM. Les contrôles VCL exposés comme OCX
// ont un ensemble minimum d'interfaces définies par la macro
// VCL_CONTROL_COM_INTERFACE_ENTRIES. Ajoutez les autres interfaces supportées
// par votre objet avec d'autres macros COM_INTERFACE_ENTRY[_xxx].
//
BEGIN_COM_MAP(TDLPrinterPortIOXXImpl)
  VCL_CONTROL_COM_INTERFACE_ENTRIES(IDLPrinterPortIOXX)
END_COM_MAP()



// La carte PROPERTY contient les descriptions de propriétés, les DISPIDs de propriétés,
// les CLSIDs de pages de propriétés et les IID IDispatch. Vous pouvez utiliser
// IPerPropertyBrowsingImpl, IPersistPropertyBagImpl, IPersistStreamInitImpl,
// et ISpecifyPropertyPageImpl pour utiliser les informations de votre carte
// de propriétés.
//
// REMARQUE : L'Expert BCB ne *MAINTIENT PAS* votre table PROPERTY_MAP. Vous
//       devez ajouter et supprimer les entrées manuellement.
//
BEGIN_PROPERTY_MAP(TDLPrinterPortIOXXImpl)
  // PROP_PAGE(CLSID_DLPrinterPortIOXXPage)
END_PROPERTY_MAP()

/* DECLARE_VCL_CONTROL_PERSISTENCE(CppClass, VclClass) est nécessaire pour que
 * les contrôles VCL persistent via le système de flux CVL et non le mécanisme ATL.
 * La macro ajoute les méthodes statiques IPersistStreamInit_Load et IPersistStreamInit_Save
 * à votre classe d'implémentation, remplaçant les méthodes de IPersistStreamImpl. 
 * Cette macro doit être indéfinie ou retirée manuellement si vous portez en C++Builder 4.0. */

DECLARE_VCL_CONTROL_PERSISTENCE(TDLPrinterPortIOXXImpl, TDLPrinterPortIOX);

// La macro DECLARE_ACTIVEXCONTROL_REGISTRY déclare une routine 'UpdateRegistry' 
// statique qui recense les infos de base de votre contrôle. Les
// paramètres attendus par la macro sont le ProgId & le ToolboxBitmap ID de
// votre contrôle.
//
DECLARE_ACTIVEXCONTROL_REGISTRY("DLPrinterPort.DLPrinterPortIOXX", 1);

protected: 
  STDMETHOD(AboutBox());
  STDMETHOD(DrawTextBiDiModeFlagsReadingOnly(long* Value));
  STDMETHOD(get_Cursor(short* Value));
  STDMETHOD(get_DoubleBuffered(TOLEBOOL* Value));
  STDMETHOD(get_Enabled(TOLEBOOL* Value));
  STDMETHOD(get_LPTAckwl(TOLEBOOL* Value));
  STDMETHOD(get_LPTBasePort(long* Value));
  STDMETHOD(get_LPTBusy(TOLEBOOL* Value));
  STDMETHOD(get_LPTError(TOLEBOOL* Value));
  STDMETHOD(get_LPTNumber(short* Value));
  STDMETHOD(get_LPTNumPorts(short* Value));
  STDMETHOD(get_LPTPaperEnd(TOLEBOOL* Value));
  STDMETHOD(get_LPTSlct(TOLEBOOL* Value));
  STDMETHOD(get_Visible(TOLEBOOL* Value));
  STDMETHOD(get_VisibleDockClientCount(long* Value));
  STDMETHOD(GetPin(short index, TOLEBOOL* Value));
  STDMETHOD(InitiateAction());
  STDMETHOD(IsRightToLeft(TOLEBOOL* Value));
  STDMETHOD(LPTAutofd(TOLEBOOL Flag));
  STDMETHOD(LPTInit());
  STDMETHOD(LPTPrintChar(short CH, TOLEBOOL* Value));
  STDMETHOD(LPTSlctIn());
  STDMETHOD(LPTStrobe());
  STDMETHOD(ReadPort(long Address, short* Value));
  STDMETHOD(set_Cursor(short Value));
  STDMETHOD(set_DoubleBuffered(TOLEBOOL Value));
  STDMETHOD(set_Enabled(TOLEBOOL Value));
  STDMETHOD(set_LPTNumber(short Value));
  STDMETHOD(set_Visible(TOLEBOOL Value));
  STDMETHOD(SetPin(short index, TOLEBOOL state));
  STDMETHOD(UseRightToLeftReading(TOLEBOOL* Value));
  STDMETHOD(UseRightToLeftScrollBar(TOLEBOOL* Value));
  STDMETHOD(WritePort(long Address, short Data));
};
//---------------------------------------------------------------------------


#endif
