Estoy tratando de automatizar OpenOffice dentro de un formulario de mi aplicación.
Utilizo el siguiente codigo:
Código Delphi
[-]
var ooParams, ooElements,oFrame,layout: variant;
h : HWND;
begin
Programa:= CreateOleObject('com.sun.star.ServiceManager');
DeskTop:= Unassigned;
Desktop:= Programa.CreateInstance('com.sun.star.frame.Desktop');
ooParams:= VarArrayCreate([0, 0], varVariant);
ooParams[0]:= ooCreateValue('Hidden',false);
Document:= Desktop.LoadComponentFromURL('private:factory/swriter', '_blank', 0, ooParams);
OFrame := Document.CurrentController.Frame;
layout := OFrame.LayoutManager;
layout.HideElement('private:resource/toolbar/menubar');
layout.HideElement('private:resource/toolbar/standardbar');
h := FindWindow(PChar('SALFRAME'), nil);
DeleteMenu(GetSystemMenu(h, false), SC_MOVE, MF_BYCOMMAND);
if (h <> 0) then begin
Windows.SetParent(h, Form1.Panel2.Handle);
ShowWindow(h, SW_MAXIMIZE );
end ;
end;
Y tengo dos problemas:
1. Necesito que no aparezca la barra azul de la aplicación Open Office para que no pueda moverse dentro del panel.
2. Ocultar el menu principal de OpenOffice. Lo intento con
Código Delphi
[-]layout.HideElement('private:resource/toolbar/standardbar');
pero no funciona.
Gracias por cualquier ayuda al respecto.