Главная страница
    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.045 c
4-1108321032
Shamansky
2005-02-13 21:57
2005.03.27
Очистить буфер порта


11-1093291474
=Sniper=
2004-08-24 00:04
2005.03.27
Вопрос про подсветку в Rich Edit (прикладываю полный проект)


8-1102814820
Black
2004-12-12 04:27
2005.03.27
как вывести звук с микрофона на прямую к колонкам?


4-1108466729
AbramovVi
2005-02-15 14:25
2005.03.27
извлеч финкции из dll


1-1110393435
Tirex
2005-03-09 21:37
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский