home *** CD-ROM | disk | FTP | other *** search
/ PC Format Collection 48 / SENT14D.ISO / tech / delphi / disk15 / ole2doc.pak / OLEOBJ.PAS < prev   
Encoding:
Pascal/Delphi Source File  |  1995-08-24  |  3.4 KB  |  144 lines

  1. unit Oleobj;
  2.  
  3. interface
  4.  
  5. uses
  6.   SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  7.   Forms, Dialogs, ToCtrl, Menus;
  8.  
  9. type
  10.   TOLEObjectForm = class(TForm)
  11.     OleContainer: TOleContainer;
  12.     MainMenu1: TMainMenu;
  13.     File1: TMenuItem;
  14.     New1: TMenuItem;
  15.     Open1: TMenuItem;
  16.     SaveAs1: TMenuItem;
  17.     N1: TMenuItem;
  18.     Exit1: TMenuItem;
  19.     Edit1: TMenuItem;
  20.     InsertObject1: TMenuItem;
  21.     PasteSpecial1: TMenuItem;
  22.     N2: TMenuItem;
  23.     OLEObjectMenuItem: TMenuItem;
  24.     Object2: TMenuItem;
  25.     Deactivate1: TMenuItem;
  26.     Window1: TMenuItem;
  27.     Cascade1: TMenuItem;
  28.     Tile1: TMenuItem;
  29.     ArrangeIcons1: TMenuItem;
  30.     SaveAsDialog: TSaveDialog;
  31.     procedure New1Click(Sender: TObject);
  32.     procedure Exit1Click(Sender: TObject);
  33.     procedure Cascade1Click(Sender: TObject);
  34.     procedure Tile1Click(Sender: TObject);
  35.     procedure ArrangeIcons1Click(Sender: TObject);
  36.     procedure OleContainerStatusLineEvent(Sender: TObject; Msg: String);
  37.     procedure InsertObject1Click(Sender: TObject);
  38.     procedure Deactivate1Click(Sender: TObject);
  39.     procedure PasteSpecial1Click(Sender: TObject);
  40.     procedure Edit1Click(Sender: TObject);
  41.     procedure SaveAs1Click(Sender: TObject);
  42.     procedure Open1Click(Sender: TObject);
  43.     procedure FormClose(Sender: TObject; var Action: TCloseAction);
  44.   private
  45.     procedure InitializeOLEObject(Info: Pointer);
  46.   public
  47.     { Public declarations }
  48.   end;
  49.  
  50. var
  51.   OLEObjectForm: TOLEObjectForm;
  52.  
  53. implementation
  54.  
  55. uses OLEFrame;
  56.  
  57. {$R *.DFM}
  58.  
  59. procedure TOLEObjectForm.New1Click(Sender: TObject);
  60. begin
  61.   OLEFrameForm.New1Click(Sender)
  62. end;
  63.  
  64. procedure TOLEObjectForm.Exit1Click(Sender: TObject);
  65. begin
  66.   OLEFrameForm.Exit1Click(Sender)
  67. end;
  68.  
  69. procedure TOLEObjectForm.Cascade1Click(Sender: TObject);
  70. begin
  71.   OLEFrameForm.Cascade
  72. end;
  73.  
  74. procedure TOLEObjectForm.Tile1Click(Sender: TObject);
  75. begin
  76.   OLEFrameForm.Tile
  77. end;
  78.  
  79. procedure TOLEObjectForm.ArrangeIcons1Click(Sender: TObject);
  80. begin
  81.   OLEFrameForm.ArrangeIcons
  82. end;
  83.  
  84. procedure TOLEObjectForm.OleContainerStatusLineEvent(Sender: TObject;
  85.   Msg: String);
  86. begin
  87.   OLEFrameForm.StatusBarPanel.Caption := Msg
  88. end;
  89.  
  90. procedure TOLEObjectForm.InitializeOLEObject(Info: Pointer);
  91. begin
  92.   OLEContainer.PInitInfo := Info;
  93.   ReleaseOLEInitInfo(Info)
  94. end;
  95.  
  96. procedure TOLEObjectForm.InsertObject1Click(Sender: TObject);
  97. var
  98.   Info: Pointer;
  99. begin
  100.   if InsertOLEObjectDlg(OLEFrameForm, 0, Info) then
  101.     InitializeOLEObject(Info);
  102. end;
  103.  
  104. procedure TOLEObjectForm.Deactivate1Click(Sender: TObject);
  105. begin
  106.   OLEContainer.Active := False
  107. end;
  108.  
  109. procedure TOLEObjectForm.PasteSpecial1Click(Sender: TObject);
  110. var
  111.   ClipFmt: Word;
  112.   DataHand: THandle;
  113.   Info: Pointer;
  114. begin
  115.   if PasteSpecialEnabled(Self, OLEFrameForm.Fmts) then
  116.     if PasteSpecialDlg(Self, OLEFrameForm.Fmts, 0,
  117.       ClipFmt, DataHand, Info) then
  118.       InitializeOLEObject(Info)
  119. end;
  120.  
  121. procedure TOLEObjectForm.Edit1Click(Sender: TObject);
  122. begin
  123.   PasteSpecial1.Enabled := PasteSpecialEnabled(Self, OLEFrameForm.Fmts)
  124. end;
  125.  
  126. procedure TOLEObjectForm.SaveAs1Click(Sender: TObject);
  127. begin
  128.   if SaveAsDialog.Execute then
  129.     OLEContainer.SaveToFile(SaveAsDialog.Filename)
  130. end;
  131.  
  132. procedure TOLEObjectForm.Open1Click(Sender: TObject);
  133. begin
  134.   OLEFrameForm.Open1Click(Sender)
  135. end;
  136.  
  137. procedure TOLEObjectForm.FormClose(Sender: TObject;
  138.   var Action: TCloseAction);
  139. begin
  140.   Action := caFree;
  141. end;
  142.  
  143. end.
  144.