Marco Web Center

[an error occurred while processing this directive]

Home: Code Repository: Delphi 2009 Handbook

Project: MyActiveForm_Project.dproj

Project Structure

MyActiveForm_Project.dpr
library MyActiveForm_Project;

uses
  ComServ,
  MyActiveForm_TLB in 'MyActiveForm_TLB.pas',
  MyActiveForm_Form in 'MyActiveForm_Form.pas' {MyActiveForm: TActiveForm} {MyActiveForm: CoClass},
  MyActiveForm_About in 'MyActiveForm_About.pas' {MyActiveFormAbout};

{$E ocx}

exports
  DllGetClassObject,
  DllCanUnloadNow,
  DllRegisterServer,
  DllUnregisterServer;

{$R *.TLB}

{$R *.RES}

begin
end.
MyActiveForm_TLB.pas
unit MyActiveForm_TLB;

// ************************************************************************ //
// WARNING
// -------
// The types declared in this file were generated from data read from a
// Type Library. If this type library is explicitly or indirectly (via
// another type library referring to this type library) re-imported, or the
// 'Refresh' command of the Type Library Editor activated while editing the
// Type Library, the contents of this file will be regenerated and all
// manual modifications will be lost.
// ************************************************************************ //

// $Rev: 17252 $
// File generated on 11/4/2008 10:16:44 AM from Type Library described below.

// ************************************************************************  //
// Type Lib: C:\Users\Marco\Documents\books2008\tiburon\sourcecode\09\MyActiveForm\MyActiveForm (1)
// LIBID: {C014D308-45EC-4001-A835-AAE0386FDF5F}
// LCID: 0
// Helpfile:
// HelpString:
// DepndLst:
//   (1) v2.0 stdole, (C:\Windows\system32\stdole2.tlb)
//   (2) v4.0 StdVCL, (C:\Windows\system32\stdvcl40.dll)
// Errors:
//   Hint: TypeInfo 'MyActiveForm' changed to 'MyActiveForm_'
// ************************************************************************ //
{$TYPEDADDRESS OFF} // Unit must be compiled without type-checked pointers.
{$WARN SYMBOL_PLATFORM OFF}
{$WRITEABLECONST ON}
{$VARPROPSETTER ON}
{$ALIGN 4}
interface

uses Windows, ActiveX, Classes, Graphics, OleCtrls, StdVCL, Variants;


// *********************************************************************//
// GUIDS declared in the TypeLibrary. Following prefixes are used:
//   Type Libraries     : LIBID_xxxx
//   CoClasses          : CLASS_xxxx
//   DISPInterfaces     : DIID_xxxx
//   Non-DISP interfaces: IID_xxxx
// *********************************************************************//
const
  // TypeLibrary Major and minor versions
  MyActiveFormMajorVersion = 1;
  MyActiveFormMinorVersion = 0;

  LIBID_MyActiveForm: TGUID = '{C014D308-45EC-4001-A835-AAE0386FDF5F}';

  IID_IMyActiveForm: TGUID = '{70855E66-42D2-4613-88D2-E833BCE61A3E}';
  DIID_IMyActiveFormEvents: TGUID = '{778F5DAE-D2A5-4060-BBA7-02808C1BE8C0}';
  CLASS_MyActiveForm: TGUID = '{AE64FD40-25C5-4697-B19C-8CE781695B71}';

// *********************************************************************//
// Declaration of Enumerations defined in Type Library
// *********************************************************************//
// Constants for enum TxActiveFormBorderStyle
type
  TxActiveFormBorderStyle = TOleEnum;
const
  afbNone = $00000000;
  afbSingle = $00000001;
  afbSunken = $00000002;
  afbRaised = $00000003;

// Constants for enum TxPrintScale
type
  TxPrintScale = TOleEnum;
const
  poNone = $00000000;
  poProportional = $00000001;
  poPrintToFit = $00000002;

// Constants for enum TxMouseButton
type
  TxMouseButton = TOleEnum;
const
  mbLeft = $00000000;
  mbRight = $00000001;
  mbMiddle = $00000002;

// Constants for enum TxPopupMode
type
  TxPopupMode = TOleEnum;
const
  pmNone = $00000000;
  pmAuto = $00000001;
  pmExplicit = $00000002;

type

// *********************************************************************//
// Forward declaration of types defined in TypeLibrary
// *********************************************************************//
  IMyActiveForm = interface;
  IMyActiveFormDisp = dispinterface;
  IMyActiveFormEvents = dispinterface;

// *********************************************************************//
// Declaration of CoClasses defined in Type Library
// (NOTE: Here we map each CoClass to its Default Interface)
// *********************************************************************//
  MyActiveForm_ = IMyActiveForm;


// *********************************************************************//
// Declaration of structures, unions and aliases.
// *********************************************************************//
  PPUserType1 = ^IFontDisp;
  PPUserType2 = ^IFontDisp;
  PPUserType3 = ^IFontDisp; {*}


// *********************************************************************//
// Interface: IMyActiveForm
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {70855E66-42D2-4613-88D2-E833BCE61A3E}
// *********************************************************************//
  IMyActiveForm = interface(IDispatch)
    ['{70855E66-42D2-4613-88D2-E833BCE61A3E}']
    function Get_Visible: WordBool; safecall;
    procedure Set_Visible(Value: WordBool); safecall;
    function Get_AutoScroll: WordBool; safecall;
    procedure Set_AutoScroll(Value: WordBool); safecall;
    function Get_AutoSize: WordBool; safecall;
    procedure Set_AutoSize(Value: WordBool); safecall;
    function Get_AxBorderStyle: TxActiveFormBorderStyle; safecall;
    procedure Set_AxBorderStyle(Value: TxActiveFormBorderStyle); safecall;
    function Get_Caption: WideString; safecall;
    procedure Set_Caption(const Value: WideString); safecall;
    function Get_Color: OLE_COLOR; safecall;
    procedure Set_Color(Value: OLE_COLOR); safecall;
    function Get_Font: IFontDisp; safecall;
    procedure Set_Font(const Value: IFontDisp); safecall;
    procedure _Set_Font(var Value: IFontDisp); safecall;
    function Get_KeyPreview: WordBool; safecall;
    procedure Set_KeyPreview(Value: WordBool); safecall;
    function Get_PixelsPerInch: Integer; safecall;
    procedure Set_PixelsPerInch(Value: Integer); safecall;
    function Get_PrintScale: TxPrintScale; safecall;
    procedure Set_PrintScale(Value: TxPrintScale); safecall;
    function Get_Scaled: WordBool; safecall;
    procedure Set_Scaled(Value: WordBool); safecall;
    function Get_Active: WordBool; safecall;
    function Get_DropTarget: WordBool; safecall;
    procedure Set_DropTarget(Value: WordBool); safecall;
    function Get_HelpFile: WideString; safecall;
    procedure Set_HelpFile(const Value: WideString); safecall;
    function Get_PopupMode: TxPopupMode; safecall;
    procedure Set_PopupMode(Value: TxPopupMode); safecall;
    function Get_ScreenSnap: WordBool; safecall;
    procedure Set_ScreenSnap(Value: WordBool); safecall;
    function Get_SnapBuffer: Integer; safecall;
    procedure Set_SnapBuffer(Value: Integer); safecall;
    function Get_DockSite: WordBool; safecall;
    procedure Set_DockSite(Value: WordBool); safecall;
    function Get_DoubleBuffered: WordBool; safecall;
    procedure Set_DoubleBuffered(Value: WordBool); safecall;
    function Get_AlignDisabled: WordBool; safecall;
    function Get_MouseInClient: WordBool; safecall;
    function Get_VisibleDockClientCount: Integer; safecall;
    function Get_ParentDoubleBuffered: WordBool; safecall;
    procedure Set_ParentDoubleBuffered(Value: WordBool); safecall;
    function Get_UseDockManager: WordBool; safecall;
    procedure Set_UseDockManager(Value: WordBool); safecall;
    function Get_Enabled: WordBool; safecall;
    procedure Set_Enabled(Value: WordBool); safecall;
    function Get_ExplicitLeft: Integer; safecall;
    function Get_ExplicitTop: Integer; safecall;
    function Get_ExplicitWidth: Integer; safecall;
    function Get_ExplicitHeight: Integer; safecall;
    function Get_AlignWithMargins: WordBool; safecall;
    procedure Set_AlignWithMargins(Value: WordBool); safecall;
    function Get_ParentCustomHint: WordBool; safecall;
    procedure Set_ParentCustomHint(Value: WordBool); safecall;
    procedure AboutBox; safecall;
    property Visible: WordBool read Get_Visible write Set_Visible;
    property AutoScroll: WordBool read Get_AutoScroll write Set_AutoScroll;
    property AutoSize: WordBool read Get_AutoSize write Set_AutoSize;
    property AxBorderStyle: TxActiveFormBorderStyle read Get_AxBorderStyle write Set_AxBorderStyle;
    property Caption: WideString read Get_Caption write Set_Caption;
    property Color: OLE_COLOR read Get_Color write Set_Color;
    property Font: IFontDisp read Get_Font write Set_Font;
    property KeyPreview: WordBool read Get_KeyPreview write Set_KeyPreview;
    property PixelsPerInch: Integer read Get_PixelsPerInch write Set_PixelsPerInch;
    property PrintScale: TxPrintScale read Get_PrintScale write Set_PrintScale;
    property Scaled: WordBool read Get_Scaled write Set_Scaled;
    property Active: WordBool read Get_Active;
    property DropTarget: WordBool read Get_DropTarget write Set_DropTarget;
    property HelpFile: WideString read Get_HelpFile write Set_HelpFile;
    property PopupMode: TxPopupMode read Get_PopupMode write Set_PopupMode;
    property ScreenSnap: WordBool read Get_ScreenSnap write Set_ScreenSnap;
    property SnapBuffer: Integer read Get_SnapBuffer write Set_SnapBuffer;
    property DockSite: WordBool read Get_DockSite write Set_DockSite;
    property DoubleBuffered: WordBool read Get_DoubleBuffered write Set_DoubleBuffered;
    property AlignDisabled: WordBool read Get_AlignDisabled;
    property MouseInClient: WordBool read Get_MouseInClient;
    property VisibleDockClientCount: Integer read Get_VisibleDockClientCount;
    property ParentDoubleBuffered: WordBool read Get_ParentDoubleBuffered write Set_ParentDoubleBuffered;
    property UseDockManager: WordBool read Get_UseDockManager write Set_UseDockManager;
    property Enabled: WordBool read Get_Enabled write Set_Enabled;
    property ExplicitLeft: Integer read Get_ExplicitLeft;
    property ExplicitTop: Integer read Get_ExplicitTop;
    property ExplicitWidth: Integer read Get_ExplicitWidth;
    property ExplicitHeight: Integer read Get_ExplicitHeight;
    property AlignWithMargins: WordBool read Get_AlignWithMargins write Set_AlignWithMargins;
    property ParentCustomHint: WordBool read Get_ParentCustomHint write Set_ParentCustomHint;
  end;

// *********************************************************************//
// DispIntf:  IMyActiveFormDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {70855E66-42D2-4613-88D2-E833BCE61A3E}
// *********************************************************************//
  IMyActiveFormDisp = dispinterface
    ['{70855E66-42D2-4613-88D2-E833BCE61A3E}']
    property Visible: WordBool dispid 201;
    property AutoScroll: WordBool dispid 202;
    property AutoSize: WordBool dispid 203;
    property AxBorderStyle: TxActiveFormBorderStyle dispid 204;
    property Caption: WideString dispid -518;
    property Color: OLE_COLOR dispid -501;
    property Font: IFontDisp dispid -512;
    property KeyPreview: WordBool dispid 205;
    property PixelsPerInch: Integer dispid 206;
    property PrintScale: TxPrintScale dispid 207;
    property Scaled: WordBool dispid 208;
    property Active: WordBool readonly dispid 209;
    property DropTarget: WordBool dispid 210;
    property HelpFile: WideString dispid 211;
    property PopupMode: TxPopupMode dispid 212;
    property ScreenSnap: WordBool dispid 213;
    property SnapBuffer: Integer dispid 214;
    property DockSite: WordBool dispid 215;
    property DoubleBuffered: WordBool dispid 216;
    property AlignDisabled: WordBool readonly dispid 217;
    property MouseInClient: WordBool readonly dispid 218;
    property VisibleDockClientCount: Integer readonly dispid 219;
    property ParentDoubleBuffered: WordBool dispid 220;
    property UseDockManager: WordBool dispid 221;
    property Enabled: WordBool dispid -514;
    property ExplicitLeft: Integer readonly dispid 222;
    property ExplicitTop: Integer readonly dispid 223;
    property ExplicitWidth: Integer readonly dispid 224;
    property ExplicitHeight: Integer readonly dispid 225;
    property AlignWithMargins: WordBool dispid 226;
    property ParentCustomHint: WordBool dispid 227;
    procedure AboutBox; dispid -552;
  end;

// *********************************************************************//
// DispIntf:  IMyActiveFormEvents
// Flags:     (0)
// GUID:      {778F5DAE-D2A5-4060-BBA7-02808C1BE8C0}
// *********************************************************************//
  IMyActiveFormEvents = dispinterface
    ['{778F5DAE-D2A5-4060-BBA7-02808C1BE8C0}']
    procedure OnActivate; dispid 201;
    procedure OnClick; dispid 202;
    procedure OnCreate; dispid 203;
    procedure OnDblClick; dispid 204;
    procedure OnDestroy; dispid 205;
    procedure OnDeactivate; dispid 206;
    procedure OnKeyPress(var Key: Smallint); dispid 207;
    procedure OnMouseEnter; dispid 208;
    procedure OnMouseLeave; dispid 209;
    procedure OnPaint; dispid 210;
  end;

implementation

uses ComObj;

end.
MyActiveForm_Form.pas
   unit MyActiveForm_Form;

{$WARN SYMBOL_PLATFORM OFF}

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ActiveX, AxCtrls, MyActiveForm_TLB, StdVcl, StdCtrls;

type
  TMyActiveForm = class(TActiveForm, IMyActiveForm)
    Button1: TButton;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
    FEvents: IMyActiveFormEvents;
    procedure ActivateEvent(Sender: TObject);
    procedure ClickEvent(Sender: TObject);
    procedure CreateEvent(Sender: TObject);
    procedure DblClickEvent(Sender: TObject);
    procedure DeactivateEvent(Sender: TObject);
    procedure DestroyEvent(Sender: TObject);
    procedure KeyPressEvent(Sender: TObject; var Key: Char);
    procedure MouseEnterEvent(Sender: TObject);
    procedure MouseLeaveEvent(Sender: TObject);
    procedure PaintEvent(Sender: TObject);
  protected
    { Protected declarations }
    procedure DefinePropertyPages(DefinePropertyPage: TDefinePropertyPage); override;
    procedure EventSinkChanged(const EventSink: IUnknown); override;
    function Get_Active: WordBool; safecall;
    function Get_AlignDisabled: WordBool; safecall;
    function Get_AlignWithMargins: WordBool; safecall;
    function Get_AutoScroll: WordBool; safecall;
    function Get_AutoSize: WordBool; safecall;
    function Get_AxBorderStyle: TxActiveFormBorderStyle; safecall;
    function Get_Caption: WideString; safecall;
    function Get_Color: OLE_COLOR; safecall;
    function Get_DockSite: WordBool; safecall;
    function Get_DoubleBuffered: WordBool; safecall;
    function Get_DropTarget: WordBool; safecall;
    function Get_Enabled: WordBool; safecall;
    function Get_ExplicitHeight: Integer; safecall;
    function Get_ExplicitLeft: Integer; safecall;
    function Get_ExplicitTop: Integer; safecall;
    function Get_ExplicitWidth: Integer; safecall;
    function Get_Font: IFontDisp; safecall;
    function Get_HelpFile: WideString; safecall;
    function Get_KeyPreview: WordBool; safecall;
    function Get_MouseInClient: WordBool; safecall;
    function Get_ParentCustomHint: WordBool; safecall;
    function Get_ParentDoubleBuffered: WordBool; safecall;
    function Get_PixelsPerInch: Integer; safecall;
    function Get_PopupMode: TxPopupMode; safecall;
    function Get_PrintScale: TxPrintScale; safecall;
    function Get_Scaled: WordBool; safecall;
    function Get_ScreenSnap: WordBool; safecall;
    function Get_SnapBuffer: Integer; safecall;
    function Get_UseDockManager: WordBool; safecall;
    function Get_Visible: WordBool; safecall;
    function Get_VisibleDockClientCount: Integer; safecall;
    procedure _Set_Font(var Value: IFontDisp); safecall;
    procedure AboutBox; safecall;
    procedure Set_AlignWithMargins(Value: WordBool); safecall;
    procedure Set_AutoScroll(Value: WordBool); safecall;
    procedure Set_AutoSize(Value: WordBool); safecall;
    procedure Set_AxBorderStyle(Value: TxActiveFormBorderStyle); safecall;
    procedure Set_Caption(const Value: WideString); safecall;
    procedure Set_Color(Value: OLE_COLOR); safecall;
    procedure Set_DockSite(Value: WordBool); safecall;
    procedure Set_DoubleBuffered(Value: WordBool); safecall;
    procedure Set_DropTarget(Value: WordBool); safecall;
    procedure Set_Enabled(Value: WordBool); safecall;
    procedure Set_Font(const Value: IFontDisp); safecall;
    procedure Set_HelpFile(const Value: WideString); safecall;
    procedure Set_KeyPreview(Value: WordBool); safecall;
    procedure Set_ParentCustomHint(Value: WordBool); safecall;
    procedure Set_ParentDoubleBuffered(Value: WordBool); safecall;
    procedure Set_PixelsPerInch(Value: Integer); safecall;
    procedure Set_PopupMode(Value: TxPopupMode); safecall;
    procedure Set_PrintScale(Value: TxPrintScale); safecall;
    procedure Set_Scaled(Value: WordBool); safecall;
    procedure Set_ScreenSnap(Value: WordBool); safecall;
    procedure Set_SnapBuffer(Value: Integer); safecall;
    procedure Set_UseDockManager(Value: WordBool); safecall;
    procedure Set_Visible(Value: WordBool); safecall;
  public
    { Public declarations }
    procedure Initialize; override;
  end;

implementation

uses ComObj, ComServ, MyActiveForm_About;

{$R *.DFM}

{ TMyActiveForm }

procedure TMyActiveForm.DefinePropertyPages(DefinePropertyPage: TDefinePropertyPage);
begin
  { Define property pages here.  Property pages are defined by calling
    DefinePropertyPage with the class id of the page.  For example,
      DefinePropertyPage(Class_MyActiveFormPage); }
end;

procedure TMyActiveForm.EventSinkChanged(const EventSink: IUnknown);
begin
  FEvents := EventSink as IMyActiveFormEvents;
  inherited EventSinkChanged(EventSink);
end;

procedure TMyActiveForm.Initialize;
begin
  inherited Initialize;
  OnActivate := ActivateEvent;
  OnClick := ClickEvent;
  OnCreate := CreateEvent;
  OnDblClick := DblClickEvent;
  OnDeactivate := DeactivateEvent;
  OnDestroy := DestroyEvent;
  OnKeyPress := KeyPressEvent;
  OnMouseEnter := MouseEnterEvent;
  OnMouseLeave := MouseLeaveEvent;
  OnPaint := PaintEvent;
end;

function TMyActiveForm.Get_Active: WordBool;
begin
  Result := Active;
end;

function TMyActiveForm.Get_AlignDisabled: WordBool;
begin
  Result := AlignDisabled;
end;

function TMyActiveForm.Get_AlignWithMargins: WordBool;
begin
  Result := AlignWithMargins;
end;

function TMyActiveForm.Get_AutoScroll: WordBool;
begin
  Result := AutoScroll;
end;

function TMyActiveForm.Get_AutoSize: WordBool;
begin
  Result := AutoSize;
end;

function TMyActiveForm.Get_AxBorderStyle: TxActiveFormBorderStyle;
begin
  Result := Ord(AxBorderStyle);
end;

function TMyActiveForm.Get_Caption: WideString;
begin
  Result := WideString(Caption);
end;

function TMyActiveForm.Get_Color: OLE_COLOR;
begin
  Result := OLE_COLOR(Color);
end;

function TMyActiveForm.Get_DockSite: WordBool;
begin
  Result := DockSite;
end;

function TMyActiveForm.Get_DoubleBuffered: WordBool;
begin
  Result := DoubleBuffered;
end;

function TMyActiveForm.Get_DropTarget: WordBool;
begin
  Result := DropTarget;
end;

function TMyActiveForm.Get_Enabled: WordBool;
begin
  Result := Enabled;
end;

function TMyActiveForm.Get_ExplicitHeight: Integer;
begin
  Result := ExplicitHeight;
end;

function TMyActiveForm.Get_ExplicitLeft: Integer;
begin
  Result := ExplicitLeft;
end;

function TMyActiveForm.Get_ExplicitTop: Integer;
begin
  Result := ExplicitTop;
end;

function TMyActiveForm.Get_ExplicitWidth: Integer;
begin
  Result := ExplicitWidth;
end;

function TMyActiveForm.Get_Font: IFontDisp;
begin
  GetOleFont(Font, Result);
end;

function TMyActiveForm.Get_HelpFile: WideString;
begin
  Result := WideString(HelpFile);
end;

function TMyActiveForm.Get_KeyPreview: WordBool;
begin
  Result := KeyPreview;
end;

function TMyActiveForm.Get_MouseInClient: WordBool;
begin
  Result := MouseInClient;
end;

function TMyActiveForm.Get_ParentCustomHint: WordBool;
begin
  Result := ParentCustomHint;
end;

function TMyActiveForm.Get_ParentDoubleBuffered: WordBool;
begin
  Result := ParentDoubleBuffered;
end;

function TMyActiveForm.Get_PixelsPerInch: Integer;
begin
  Result := PixelsPerInch;
end;

function TMyActiveForm.Get_PopupMode: TxPopupMode;
begin
  Result := Ord(PopupMode);
end;

function TMyActiveForm.Get_PrintScale: TxPrintScale;
begin
  Result := Ord(PrintScale);
end;

function TMyActiveForm.Get_Scaled: WordBool;
begin
  Result := Scaled;
end;

function TMyActiveForm.Get_ScreenSnap: WordBool;
begin
  Result := ScreenSnap;
end;

function TMyActiveForm.Get_SnapBuffer: Integer;
begin
  Result := SnapBuffer;
end;

function TMyActiveForm.Get_UseDockManager: WordBool;
begin
  Result := UseDockManager;
end;

function TMyActiveForm.Get_Visible: WordBool;
begin
  Result := Visible;
end;

function TMyActiveForm.Get_VisibleDockClientCount: Integer;
begin
  Result := VisibleDockClientCount;
end;

procedure TMyActiveForm._Set_Font(var Value: IFontDisp);
begin
  SetOleFont(Font, Value);
end;

procedure TMyActiveForm.AboutBox;
begin
  ShowMyActiveFormAbout;
end;

procedure TMyActiveForm.ActivateEvent(Sender: TObject);
begin
  if FEvents <> nil then FEvents.OnActivate;
end;

procedure TMyActiveForm.Button1Click(Sender: TObject);
begin
  Memo1.Lines.Add ('ما هي الشفرة الموحدة "يونِكود" ؟'                         );
  Memo1.Lines.Add ('Τι είναι το Unicode;'         );
  Memo1.Lines.Add ('ユニコードとは何か?'                    );
end;

procedure TMyActiveForm.ClickEvent(Sender: TObject);
begin
  if FEvents <> nil then FEvents.OnClick;
end;

procedure TMyActiveForm.CreateEvent(Sender: TObject);
begin
  if FEvents <> nil then FEvents.OnCreate;
end;

procedure TMyActiveForm.DblClickEvent(Sender: TObject);
begin
  if FEvents <> nil then FEvents.OnDblClick;
end;

procedure TMyActiveForm.DeactivateEvent(Sender: TObject);
begin
  if FEvents <> nil then FEvents.OnDeactivate;
end;

procedure TMyActiveForm.DestroyEvent(Sender: TObject);
begin
  if FEvents <> nil then FEvents.OnDestroy;
end;

procedure TMyActiveForm.KeyPressEvent(Sender: TObject; var Key: Char);
var
  TempKey: Smallint;
begin
  TempKey := Smallint(Key);
  if FEvents <> nil then FEvents.OnKeyPress(TempKey);
  Key := Char(TempKey);
end;

procedure TMyActiveForm.MouseEnterEvent(Sender: TObject);
begin
  if FEvents <> nil then FEvents.OnMouseEnter;
end;

procedure TMyActiveForm.MouseLeaveEvent(Sender: TObject);
begin
  if FEvents <> nil then FEvents.OnMouseLeave;
end;

procedure TMyActiveForm.PaintEvent(Sender: TObject);
begin
  if FEvents <> nil then FEvents.OnPaint;
end;

procedure TMyActiveForm.Set_AlignWithMargins(Value: WordBool);
begin
  AlignWithMargins := Value;
end;

procedure TMyActiveForm.Set_AutoScroll(Value: WordBool);
begin
  AutoScroll := Value;
end;

procedure TMyActiveForm.Set_AutoSize(Value: WordBool);
begin
  AutoSize := Value;
end;

procedure TMyActiveForm.Set_AxBorderStyle(Value: TxActiveFormBorderStyle);
begin
  AxBorderStyle := TActiveFormBorderStyle(Value);
end;

procedure TMyActiveForm.Set_Caption(const Value: WideString);
begin
  Caption := TCaption(Value);
end;

procedure TMyActiveForm.Set_Color(Value: OLE_COLOR);
begin
  Color := TColor(Value);
end;

procedure TMyActiveForm.Set_DockSite(Value: WordBool);
begin
  DockSite := Value;
end;

procedure TMyActiveForm.Set_DoubleBuffered(Value: WordBool);
begin
  DoubleBuffered := Value;
end;

procedure TMyActiveForm.Set_DropTarget(Value: WordBool);
begin
  DropTarget := Value;
end;

procedure TMyActiveForm.Set_Enabled(Value: WordBool);
begin
  Enabled := Value;
end;

procedure TMyActiveForm.Set_Font(const Value: IFontDisp);
begin
  SetOleFont(Font, Value);
end;

procedure TMyActiveForm.Set_HelpFile(const Value: WideString);
begin
  HelpFile := string(Value);
end;

procedure TMyActiveForm.Set_KeyPreview(Value: WordBool);
begin
  KeyPreview := Value;
end;

procedure TMyActiveForm.Set_ParentCustomHint(Value: WordBool);
begin
  ParentCustomHint := Value;
end;

procedure TMyActiveForm.Set_ParentDoubleBuffered(Value: WordBool);
begin
  ParentDoubleBuffered := Value;
end;

procedure TMyActiveForm.Set_PixelsPerInch(Value: Integer);
begin
  PixelsPerInch := Value;
end;

procedure TMyActiveForm.Set_PopupMode(Value: TxPopupMode);
begin
  PopupMode := TPopupMode(Value);
end;

procedure TMyActiveForm.Set_PrintScale(Value: TxPrintScale);
begin
  PrintScale := TPrintScale(Value);
end;

procedure TMyActiveForm.Set_Scaled(Value: WordBool);
begin
  Scaled := Value;
end;

procedure TMyActiveForm.Set_ScreenSnap(Value: WordBool);
begin
  ScreenSnap := Value;
end;

procedure TMyActiveForm.Set_SnapBuffer(Value: Integer);
begin
  SnapBuffer := Value;
end;

procedure TMyActiveForm.Set_UseDockManager(Value: WordBool);
begin
  UseDockManager := Value;
end;

procedure TMyActiveForm.Set_Visible(Value: WordBool);
begin
  Visible := Value;
end;

initialization
  TActiveFormFactory.Create(
    ComServer,
    TActiveFormControl,
    TMyActiveForm,
    Class_MyActiveForm,
    1,
    '',
    OLEMISC_SIMPLEFRAME or OLEMISC_ACTSLIKELABEL,
    tmApartment);
end.
MyActiveForm_Form.pas.dfm
object MyActiveForm: TMyActiveForm
  Left = 0
  Top = 0
  Width = 570
  Height = 328
  Caption = 'MyActiveForm'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object Button1: TButton
    Left = 136
    Top = 104
    Width = 265
    Height = 25
    Caption = 'Uniocde Hello!'
    TabOrder = 0
    OnClick = Button1Click
  end
  object Memo1: TMemo
    Left = 136
    Top = 136
    Width = 265
    Height = 89
    TabOrder = 1
  end
end
MyActiveForm_About.pas
unit MyActiveForm_About;

{$WARN SYMBOL_PLATFORM OFF}

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ExtCtrls, Buttons;

type
  TMyActiveFormAbout = class(TForm)
    CtlImage: TSpeedButton;
    NameLbl: TLabel;
    OkBtn: TButton;
    CopyrightLbl: TLabel;
    DescLbl: TLabel;
  end;

procedure ShowMyActiveFormAbout;

implementation

{$R *.DFM}

procedure ShowMyActiveFormAbout;
begin
  with TMyActiveFormAbout.Create(nil) do
    try
      ShowModal;
    finally
      Free;
    end;
end;

end.
MyActiveForm_About.pas.dfm
object MyActiveFormAbout: TMyActiveFormAbout
  Left = 200
  Top = 108
  BorderIcons = [biSystemMenu]
  BorderStyle = bsDialog
  Caption = 'About'
  ClientHeight = 127
  ClientWidth = 267
  Color = clBtnFace
  ParentFont = True
  OldCreateOrder = True
  Position = poScreenCenter
  PixelsPerInch = 96
  TextHeight = 13
  object CtlImage: TSpeedButton
    Left = 48
    Top = 16
    Width = 23
    Height = 22
    Flat = True
    Glyph.Data = {
      36090000424D3609000000000000360000002800000018000000180000000100
      2000000000000009000000000000000000000000000000000000808000008080
      0000808000008080000080800000808000008080000080800000808000008080
      0000808000008080000080800000808000008080000080800000808000008080
      0000808000008080000080800000808000008080000080800000808000008080
      0000808000008080000080800000808000008080000080800000808000008080
      0000808000008080000080800000808000008080000080800000808000008080
      0000808000008080000080800000808000008080000080800000808000008080
      0000808000008080000080800000808000008080000080800000808000008080
      0000808000008080000080800000808000008080000080800000808000008080
      0000808000008080000080800000808000008080000080800000808000008080
      0000808000008080000080800000808000008080000080800000808000008080
      0000808000008080000080800000808000008080000080800000808000008080
      0000808000008080000080800000808000008080000080800000808000008080
      0000808000008080000080800000808000008080000080800000808000008080
      0000808000008080000080800000808000008080800080808000808080008080
      0000808000008080000080800000808000008080000080800000808000008080
      0000808000008080000080800000808000008080000080800000808000008080
      0000808000008080000080800000000000000000000000000000808080008080
      8000808000008080000080800000808000008080000080800000808000008080
      0000808000008080000080800000808000008080000080808000808000008080
      0000808000008080000080808000008080000080800000808000000000008080
      8000808080008080000080800000808000008080000080800000808000008080
      0000808000008080000080800000808000008080800080808000808080008080
      0000808000008080000000808000008080000080800000808000008080000000
      0000808080008080000080800000808000008080000080800000808000008080
      000080800000808000000000FF00000000000000000080808000808080008080
      8000808080000080800000808000008080000080800000808000008080000000
      0000808080008080000080800000808000008080000080800000808000008080
      000080800000808000000000FF000000FF000000FF0000000000808080008080
      8000808080000080800000FFFF00008080000080800000808000008080000080
      8000808000008080000080800000808000008080000080800000808000008080
      000080800000808000000000FF000000FF000000FF000000FF00000000000000
      0000808080000080800000FFFF0000FFFF000080800000808000008080000080
      8000808000008080000080800000808000008080000080800000808000008080
      000080800000808000000000FF000000FF000000FF0000008000000080000000
      800000000000808000008080800000FFFF0000FFFF0000808000008080008080
      0000808000008080000080800000808000008080000080800000808000008080
      000080800000808000000000FF000000FF000000800000008000000080000000
      8000808000008080000080800000008080000080800000808000808000008080
      0000808000008080000080800000808000008080000080800000808000008080
      000080800000808000000000FF000000FF000000800000008000808000008080
      0000808000008080800080808000808080008080800080808000808000008080
      0000808000008080000080800000808000008080000080800000808000008080
      000080800000808000000000FF00000080008080000080800000808000008080
      000080800000FF000000FF000000FF0000000000000080808000808080008080
      0000808000008080000080800000808000008080000080800000808000008080
      0000808000008080000080800000808000008080000080800000808000008080
      000080000000FF000000FF000000FF000000FF00000000000000808080008080
      0000808000008080000080800000808000008080000080800000808000008080
      0000808000008080000080800000808000008080000080800000808000008080
      0000FF000000FF000000FF000000FF000000FF00000000000000808080008080
      0000808000008080000080800000808000008080000080800000808000008080
      0000808000008080000080800000808000008080000080800000808000008080
      0000FF000000FF000000FF000000FF000000FF00000000000000808080008080
      0000808000008080000080800000808000008080000080800000808000008080
      0000808000008080000080800000808000008080000080800000808000008080
      0000FF000000FF000000FF000000FF000000FF00000000000000808080008080
      0000808000008080000080800000808000008080000080800000808000008080
      0000808000008080000080800000808000008080000080800000808000008080
      0000FF000000FF000000FF000000FF000000FF00000080000000808000008080
      0000808000008080000080800000808000008080000080800000808000008080
      0000808000008080000080800000808000008080000080800000808000008080
      000080800000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000808000008080
      0000808000008080000080800000808000008080000080800000808000008080
      0000808000008080000080800000808000008080000080800000808000008080
      0000808000008080000080800000808000008080000080800000808000008080
      0000808000008080000080800000808000008080000080800000808000008080
      0000808000008080000080800000808000008080000080800000808000008080
      0000808000008080000080800000808000008080000080800000808000008080
      0000808000008080000080800000808000008080000080800000808000008080
      0000808000008080000080800000808000008080000080800000808000008080
      0000808000008080000080800000808000008080000080800000808000008080
      0000808000008080000080800000808000008080000080800000}
  end
  object NameLbl: TLabel
    Left = 80
    Top = 16
    Width = 82
    Height = 16
    Caption = 'ActiveFormX'
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clBtnText
    Font.Height = -13
    Font.Name = 'Default'
    Font.Style = [fsBold]
    ParentFont = False
  end
  object CopyrightLbl: TLabel
    Left = 56
    Top = 72
    Width = 154
    Height = 13
    Caption = 'About Copyright (c) 2008 Marco'
  end
  object DescLbl: TLabel
    Left = 80
    Top = 34
    Width = 53
    Height = 13
    Caption = 'Description'
  end
  object OkBtn: TButton
    Left = 96
    Top = 96
    Width = 75
    Height = 25
    Cancel = True
    Caption = 'OK'
    Default = True
    ModalResult = 1
    TabOrder = 0
  end
end
MyActiveForm.ridl
// ************************************************************************ //
// WARNING
// -------
// This file is generated by the Type Library importer or Type Libary Editor.
// Barring syntax errors, the Editor will parse modifications made to the file.
// However, when applying changes via the Editor this file will be regenerated
// and comments or formatting changes will be lost.
// ************************************************************************ //
// File generated on 11/4/2008 10:09:23 AM (- $Rev: 12980 $, 4739185).

[
  uuid(C014D308-45EC-4001-A835-AAE0386FDF5F),
  version(1.0),
  control

]
library MyActiveForm
{

  importlib("stdole2.tlb");
  importlib("stdvcl40.dll");

  interface IMyActiveForm;
  dispinterface IMyActiveFormEvents;
  coclass MyActiveForm;


  [
    uuid(52526B53-679D-4BA7-9636-5CB8B76C928E)
  ]
  enum TxActiveFormBorderStyle
  {
    [helpstring("afbNone")]
    afbNone = 0,
    [helpstring("afbSingle")]
    afbSingle = 1,
    [helpstring("afbSunken")]
    afbSunken = 2,
    [helpstring("afbRaised")]
    afbRaised = 3
  };

  [
    uuid(EC4DA0FE-D603-4F24-B006-F42609A83329)
  ]
  enum TxPrintScale
  {
    [helpstring("poNone")]
    poNone = 0,
    [helpstring("poProportional")]
    poProportional = 1,
    [helpstring("poPrintToFit")]
    poPrintToFit = 2
  };

  [
    uuid(5244AC10-435A-4849-894F-9B6B050A9A1E)
  ]
  enum TxMouseButton
  {
    [helpstring("mbLeft")]
    mbLeft = 0,
    [helpstring("mbRight")]
    mbRight = 1,
    [helpstring("mbMiddle")]
    mbMiddle = 2
  };

  [
    uuid(75EDFF05-69FB-4701-BA7F-9A2B454AB7F4)
  ]
  enum TxPopupMode
  {
    [helpstring("pmNone")]
    pmNone = 0,
    [helpstring("pmAuto")]
    pmAuto = 1,
    [helpstring("pmExplicit")]
    pmExplicit = 2
  };

  [
    public
  ]
  typedef IFontDisp** PPUserType1;

  [
    public
  ]
  typedef IFontDisp** PPUserType2;

  [
    uuid(70855E66-42D2-4613-88D2-E833BCE61A3E),
    helpstring("Dispatch interface for MyActiveForm Control"),
    dual,
    oleautomation
  ]
  interface IMyActiveForm: IDispatch
  {
    [propget, id(0x000000C9), hidden]
    HRESULT _stdcall Visible([out, retval] VARIANT_BOOL* Value);
    [propput, id(0x000000C9), hidden]
    HRESULT _stdcall Visible([in] VARIANT_BOOL Value);
    [propget, id(0x000000CA)]
    HRESULT _stdcall AutoScroll([out, retval] VARIANT_BOOL* Value);
    [propput, id(0x000000CA)]
    HRESULT _stdcall AutoScroll([in] VARIANT_BOOL Value);
    [propget, id(0x000000CB)]
    HRESULT _stdcall AutoSize([out, retval] VARIANT_BOOL* Value);
    [propput, id(0x000000CB)]
    HRESULT _stdcall AutoSize([in] VARIANT_BOOL Value);
    [propget, id(0x000000CC)]
    HRESULT _stdcall AxBorderStyle([out, retval] enum TxActiveFormBorderStyle* Value);
    [propput, id(0x000000CC)]
    HRESULT _stdcall AxBorderStyle([in] enum TxActiveFormBorderStyle Value);
    [propget, id(0xFFFFFDFA)]
    HRESULT _stdcall Caption([out, retval] BSTR* Value);
    [propput, id(0xFFFFFDFA)]
    HRESULT _stdcall Caption([in] BSTR Value);
    [propget, id(0xFFFFFE0B)]
    HRESULT _stdcall Color([out, retval] OLE_COLOR* Value);
    [propput, id(0xFFFFFE0B)]
    HRESULT _stdcall Color([in] OLE_COLOR Value);
    [propget, id(0xFFFFFE00)]
    HRESULT _stdcall Font([out, retval] IFontDisp** Value);
    [propput, id(0xFFFFFE00)]
    HRESULT _stdcall Font([in] IFontDisp* Value);
    [propputref, id(0xFFFFFE00)]
    HRESULT _stdcall Font([in] IFontDisp** Value);
    [propget, id(0x000000CD)]
    HRESULT _stdcall KeyPreview([out, retval] VARIANT_BOOL* Value);
    [propput, id(0x000000CD)]
    HRESULT _stdcall KeyPreview([in] VARIANT_BOOL Value);
    [propget, id(0x000000CE)]
    HRESULT _stdcall PixelsPerInch([out, retval] long* Value);
    [propput, id(0x000000CE)]
    HRESULT _stdcall PixelsPerInch([in] long Value);
    [propget, id(0x000000CF)]
    HRESULT _stdcall PrintScale([out, retval] enum TxPrintScale* Value);
    [propput, id(0x000000CF)]
    HRESULT _stdcall PrintScale([in] enum TxPrintScale Value);
    [propget, id(0x000000D0)]
    HRESULT _stdcall Scaled([out, retval] VARIANT_BOOL* Value);
    [propput, id(0x000000D0)]
    HRESULT _stdcall Scaled([in] VARIANT_BOOL Value);
    [propget, id(0x000000D1), hidden]
    HRESULT _stdcall Active([out, retval] VARIANT_BOOL* Value);
    [propget, id(0x000000D2), hidden]
    HRESULT _stdcall DropTarget([out, retval] VARIANT_BOOL* Value);
    [propput, id(0x000000D2), hidden]
    HRESULT _stdcall DropTarget([in] VARIANT_BOOL Value);
    [propget, id(0x000000D3), hidden]
    HRESULT _stdcall HelpFile([out, retval] BSTR* Value);
    [propput, id(0x000000D3), hidden]
    HRESULT _stdcall HelpFile([in] BSTR Value);
    [propget, id(0x000000D4), hidden]
    HRESULT _stdcall PopupMode([out, retval] enum TxPopupMode* Value);
    [propput, id(0x000000D4), hidden]
    HRESULT _stdcall PopupMode([in] enum TxPopupMode Value);
    [propget, id(0x000000D5), hidden]
    HRESULT _stdcall ScreenSnap([out, retval] VARIANT_BOOL* Value);
    [propput, id(0x000000D5), hidden]
    HRESULT _stdcall ScreenSnap([in] VARIANT_BOOL Value);
    [propget, id(0x000000D6), hidden]
    HRESULT _stdcall SnapBuffer([out, retval] long* Value);
    [propput, id(0x000000D6), hidden]
    HRESULT _stdcall SnapBuffer([in] long Value);
    [propget, id(0x000000D7), hidden]
    HRESULT _stdcall DockSite([out, retval] VARIANT_BOOL* Value);
    [propput, id(0x000000D7), hidden]
    HRESULT _stdcall DockSite([in] VARIANT_BOOL Value);
    [propget, id(0x000000D8), hidden]
    HRESULT _stdcall DoubleBuffered([out, retval] VARIANT_BOOL* Value);
    [propput, id(0x000000D8), hidden]
    HRESULT _stdcall DoubleBuffered([in] VARIANT_BOOL Value);
    [propget, id(0x000000D9), hidden]
    HRESULT _stdcall AlignDisabled([out, retval] VARIANT_BOOL* Value);
    [propget, id(0x000000DA), hidden]
    HRESULT _stdcall MouseInClient([out, retval] VARIANT_BOOL* Value);
    [propget, id(0x000000DB), hidden]
    HRESULT _stdcall VisibleDockClientCount([out, retval] long* Value);
    [propget, id(0x000000DC), hidden]
    HRESULT _stdcall ParentDoubleBuffered([out, retval] VARIANT_BOOL* Value);
    [propput, id(0x000000DC), hidden]
    HRESULT _stdcall ParentDoubleBuffered([in] VARIANT_BOOL Value);
    [propget, id(0x000000DD), hidden]
    HRESULT _stdcall UseDockManager([out, retval] VARIANT_BOOL* Value);
    [propput, id(0x000000DD), hidden]
    HRESULT _stdcall UseDockManager([in] VARIANT_BOOL Value);
    [propget, id(0xFFFFFDFE), hidden]
    HRESULT _stdcall Enabled([out, retval] VARIANT_BOOL* Value);
    [propput, id(0xFFFFFDFE), hidden]
    HRESULT _stdcall Enabled([in] VARIANT_BOOL Value);
    [propget, id(0x000000DE), hidden]
    HRESULT _stdcall ExplicitLeft([out, retval] long* Value);
    [propget, id(0x000000DF), hidden]
    HRESULT _stdcall ExplicitTop([out, retval] long* Value);
    [propget, id(0x000000E0), hidden]
    HRESULT _stdcall ExplicitWidth([out, retval] long* Value);
    [propget, id(0x000000E1), hidden]
    HRESULT _stdcall ExplicitHeight([out, retval] long* Value);
    [propget, id(0x000000E2)]
    HRESULT _stdcall AlignWithMargins([out, retval] VARIANT_BOOL* Value);
    [propput, id(0x000000E2)]
    HRESULT _stdcall AlignWithMargins([in] VARIANT_BOOL Value);
    [propget, id(0x000000E3)]
    HRESULT _stdcall ParentCustomHint([out, retval] VARIANT_BOOL* Value);
    [propput, id(0x000000E3)]
    HRESULT _stdcall ParentCustomHint([in] VARIANT_BOOL Value);
    [id(0xFFFFFDD8)]
    HRESULT _stdcall AboutBox(void);
  };

  [
    uuid(778F5DAE-D2A5-4060-BBA7-02808C1BE8C0),
    helpstring("Events interface for MyActiveForm Control")
  ]
  dispinterface IMyActiveFormEvents
  {
    properties:
    methods:
    [id(0x000000C9)]
    void OnActivate(void);
    [id(0x000000CA)]
    void OnClick(void);
    [id(0x000000CB)]
    void OnCreate(void);
    [id(0x000000CC)]
    void OnDblClick(void);
    [id(0x000000CD)]
    void OnDestroy(void);
    [id(0x000000CE)]
    void OnDeactivate(void);
    [id(0x000000CF)]
    void OnKeyPress([in, out] short* Key);
    [id(0x000000D0)]
    void OnMouseEnter(void);
    [id(0x000000D1)]
    void OnMouseLeave(void);
    [id(0x000000D2)]
    void OnPaint(void);
  };

  [
    uuid(AE64FD40-25C5-4697-B19C-8CE781695B71),
    helpstring("MyActiveForm Control"),
    control
  ]
  coclass MyActiveForm
  {
    [default] interface IMyActiveForm;
    [default, source] dispinterface IMyActiveFormEvents;
  };

};
HTML file generated by PasToWeb, a tool by Marco Cantù
Copyright 2008 Marco Cantù