Формат текущего документа

Автор HaHa, 27.09.12, 09:27:11

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

HaHa

Насколько я понимаю чтобы узнать формат текущего документа нужно использовать ksGetObjParam?

Есть ещё интерфейс ISheetFormat.
IKompasDocument-->ILayoutSheets-->ILayoutSheet-->ISheetFormat

demosfenus

Если еще актуально... я делал как-то так:

var
  iKompas: KompasObject;
  iDocument2D: ksDocument2D;
  iDocumentParam: ksDocumentParam;
  iSheetPar: ksSheetPar;
  iStandartSheet: ksStandartSheet;

begin
  iDocumentParam := ksDocumentParam(iKompas.GetParamStruct(ko_DocumentParam));
  iDocument2D.ksGetObjParam(iDocument2D.reference, iDocumentParam, ALLPARAM);
  iSheetPar := ksSheetPar(iDocumentParam.GetLayoutParam());
  if (iSheetPar <> nil) then
  begin
    iStandartSheet := ksStandartSheet(iSheetPar.GetSheetParam);
    if (iStandartSheet <> nil) then
    begin
      ...
      //дальше используем нужные параметры листа
      iStandartSheet.direct //ориентация листа (значения: 0 - верт.; 1 - гориз.)
      iStandartSheet.Format //формат листа (значение: 0..5 соответственно А0..А5)
      iStandartSheet.multiply //кратность (значения 1..9)
      ...
    end;
  end;
end;