Форум: "Corba";
Текущий архив: 2005.03.27;
Скачать: [xml.tar.bz2];
ВнизМасштабирование TextBox в Word Найти похожие ветки
← →
bsFrame © (2004-06-21 17:41) [0]Перерыл кучу инфы, но так и не нашел как исправить, может кто поможет. Есть компанент TImage в котором картинка, копирую картинку в ClipBoard, а затем вставляю в MSWord в TextBox и получается что размеры картинки отличаются от исходной примерно на 125% (Word сам об этом говорит). Захожу в свойства картинки делаю сброс размеров, картинка становиться как надо. Но ручками постоянно заходить и делать сброс как-то вломы, как можно это решить, желательно без макроса Word. Размеры TextBox задаю равными размерам картинки т.е. AddTextBox(1, 1, 1, Image1.Width, Image1.Height); Word XP, Windows XP
← →
YurikGL © (2004-06-21 19:05) [1]procedure TForm1.Button2Click(Sender: TObject);
var
vr1:olevariant;
begin
WordApplication1.Connect;
vr1:=номер рисунка(нумерация с единицы);
WordApplication1.Selection.InlineShapes.Item(vr1).ScaleHeight:=500;
WordApplication1.Selection.InlineShapes.Item(vr1).ScaleWidth:=500;//это если размер рисунка надо изменить
Если нужно обратиться к списку текстбоксов, то
vr1:="Text Box 3";
WordApplication1.ActiveDocument.Shapes.item(vr1).Width:=25;
WordApplication1.Disconnect;
end;
← →
bsFrame © (2004-06-21 22:22) [2]Что-то немного не так (Word матерится), дело в том что заранее я не знаю какой может быть размер рисунка и его размеры могут отличаться в различных пределах при отрисовывании в Word(114%..126%) но мне нужно чтоб он отрисовывался с размером в 100%. Вот примерный кусок кода может поможет понять суть проблемы. Может с Range поколдовать?
var name: Variant;
begin
Clipboard.Assign(Image1.Picture)
name:=MsWord.ActiveDocument.Shapes.AddTextbox(1,85,126,Image1.Width,Image1.Height).Name;
MsWord.ActiveDocument.Shapes.Item(name).Select;
MsWord.Selection.ShapeRange.Line.Visible := 0;
MsWord.Selection.Range.Paste;
//MsWord.Selection.InlineShapes.Item(1).ScaleHeight:=500;
end;
← →
YurikGL © (2004-06-21 22:27) [3]
> но мне нужно чтоб он отрисовывался с размером в 100%> WordApplication1.Selection.InlineShapes.Item(vr1).ScaleHeight:=100;// сто процентов
> WordApplication1.Selection.InlineShapes.Item(vr1).ScaleWidth:=100; // сто процентов
← →
YurikGL © (2004-06-21 22:30) [4]Если тебе нужно оперировать с рисунком, то у него ScaleWidth - абсолютный параметр привязанный к начальному размеру рисунка. Обращение к нему идет через InlineShapes.
Если тебе нужно оперировать с текстбоксом, то оперируй с Shapes. У него scalewidth - относительный параметр не привязанный ни к чему.
← →
bsFrame © (2004-06-22 07:00) [5]Премного благодарен )))
Страницы: 1 вся ветка
Форум: "Corba";
Текущий архив: 2005.03.27;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.076 c