Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.27;
Скачать: CL | DM;

Вниз

Ole Document   Найти похожие ветки 

 
REA ©   (2003-10-14 10:19) [0]

Никто не делал составной документ Ole: чтобы в одном документе разные поддокументы и оле объекты были? Поделитесь опытом.


 
REA ©   (2003-10-14 12:10) [1]

Кому интересно, отвечаю: Для отображения OLE документа на заданном DC (экран, принтер) можно создать спрятанный OleContainer и вызвать примерно такой код:

procedure TForm1.Button1Click(Sender: TObject);
var
ViewObject2: IViewObject2;
ViewSize: TPoint;
rc: TRect;

function HimetricToPixels(const P: TPoint): TPoint;
var
DC: HDC;
PixPerInch: TPoint;
begin
DC := GetDC(0);
PixPerInch.X := GetDeviceCaps(DC, LOGPIXELSX);
PixPerInch.Y := GetDeviceCaps(DC, LOGPIXELSY);
ReleaseDC(0, DC);
Result.X := MulDiv(P.X, PixPerInch.X, 2540);
Result.Y := MulDiv(P.Y, PixPerInch.Y, 2540);
end;

begin
if Succeeded(OleContainer1.OleObjectInterface.QueryInterface(IViewObject2, ViewObject2)) then
begin
ViewObject2.GetExtent(DVASPECT_CONTENT, -1, nil, ViewSize);
ViewSize := HimetricToPixels(ViewSize);
rc := Rect(0,0,ViewSize.X, ViewSize.Y);
OleDraw(OleContainer1.OleObjectInterface, DVASPECT_CONTENT, Canvas.Handle, rc);
End;
end;



Страницы: 1 вся ветка

Текущий архив: 2003.10.27;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.04 c
7-89599
Sedunov Vitaly
2003-08-13 18:15
2003.10.27
Как программно отключить видеоффекты?


8-89395
Andrey02
2003-06-21 13:57
2003.10.27
иконка ICO в приложении


1-89289
Yakudza
2003-10-14 11:26
2003.10.27
Что здесь не правильно ?


3-89097
Алексей Мэрфи
2003-10-08 12:57
2003.10.27
DBGrid сортировка поля по Click у на Title


1-89376
KoSt1
2003-10-15 18:38
2003.10.27
формы