Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
1-1110784865
qwe
2005-03-14 10:21
2005.03.27
Архивирование


6-1106885134
stim24
2005-01-28 07:05
2005.03.27
Интересная программа для ИНТЕРНЕТА


4-1103521064
Ego
2004-12-20 08:37
2005.03.27
Не получается добавить значек в трей.


3-1109272038
koderman
2005-02-24 22:07
2005.03.27
Выбрать все записи начинающиеся на определенную букву.


14-1109939062
syte_ser78
2005-03-04 15:24
2005.03.27
Раз уж нельзя о взломе..





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский