AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Wordmenü in OleContainer einbetten
Thema durchsuchen
Ansicht
Themen-Optionen

Wordmenü in OleContainer einbetten

Ein Thema von delphicoder123 · begonnen am 13. Jun 2019 · letzter Beitrag vom 14. Jun 2019
Antwort Antwort
delphicoder123

Registriert seit: 14. Feb 2019
102 Beiträge
 
#1

Wordmenü in OleContainer einbetten

  Alt 13. Jun 2019, 14:32
Hallo,
ich benutze ein oleContainer um ein Word-Dokument einzubetten.
Das hat erstmal soweit geklappt. Allerdings ist das Menü außerhalb des oleContainer(siehe Anhang).
Wie bekomme ich das Menü in den Container rein?

Hier mein Code:

Code:
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls, Vcl.OleCtnrs;

type
  TForm1 = class(TForm)
    Button1: TButton;
    OleContainer1: TOleContainer;
    Panel1: TPanel;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

uses ComObj, shellapi;

procedure TForm1.Button1Click(Sender: TObject);
var
  FDocument, FWord:Variant;
  FContainer: TOleContainer;
begin
  FContainer := TOleContainer.Create(olecontainer1);
  FContainer.Modified := false;
  FContainer.Parent := olecontainer1;
  FContainer.Align := alClient;
  FContainer.CreateObject('Word.Document', true);
  FDocument := IDispatch(FContainer.OleObject);
  FWord := FDocument.Application;
  FContainer.DoVerb(ovShow);
end;

end.
Miniaturansicht angehängter Grafiken
unbenannt.png  
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
672 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Wordmenü in OleContainer einbetten

  Alt 13. Jun 2019, 16:53
Hallo,
ich benutze ein oleContainer um ein Word-Dokument einzubetten.
Das hat erstmal soweit geklappt. Allerdings ist das Menü außerhalb des oleContainer(siehe Anhang).
Wie bekomme ich das Menü in den Container rein?
Garnicht, das wird schlicht nicht unterstützt. So weit ich weis kann man nur die Position des Menus etwas beeinflußen, wenn man ein TPanel oberhalb des Olecontainers aligned, das wird dann durch das Menu ersetzt.

Bei so komplexen Anwendungen sollte man lieber AllowInPlaceEdit auf false setzen, damit das Dokument in der Orginalanwendung bearbeitet werden kann.
Peter Below
  Mit Zitat antworten Zitat
delphicoder123

Registriert seit: 14. Feb 2019
102 Beiträge
 
#3

AW: Wordmenü in OleContainer einbetten

  Alt 13. Jun 2019, 19:41
Nicht, dass ich dir nicht traue, aber kann man irgendwo nachlesen, dass sowas nicht unterstützt wird?
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
672 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Wordmenü in OleContainer einbetten

  Alt 14. Jun 2019, 08:42
Nicht, dass ich dir nicht traue, aber kann man irgendwo nachlesen, dass sowas nicht unterstützt wird?
Vermutlich schon, aber ich kann Dir nicht sagen, wo.

Aber sieh Dir mal http://docwiki.embarcadero.com/Libra....TOleContainer an. Das Verhalten bezüglich der Menus der Serveranwendung ist offenbar absichtlich so implementiert worden, um die Integration in MDI-Anwendungen zu erleichtern. Das ist ancient history, schon in Delphi 1 hat sich der Olecontainer so verhalten.
Peter Below

Geändert von peterbelow (14. Jun 2019 um 08:50 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz