Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.07.15;
Скачать: [xml.tar.bz2];

Вниз

Масштаб метафайла   Найти похожие ветки 

 
alxx   (2002-06-27 12:11) [0]

При переносе метафайла из проги в Word через ClipBoard почему-то меняется его размер - 12-й шрифт вдруг становится размером с 14-й. Как его можно выравнять?


 
Volj   (2002-06-27 13:23) [1]

А ты как переносишь? Код в студию.


 
alxx   (2002-06-27 14:04) [2]

Допустим так:

procedure TForm1.ToolButton18Click(Sender: TObject);
Var
clp :TClipboard;
Meta :TMetaFile;
Canv :TMetaFileCanvas;
Begin
WA.Connect;

Meta:=TMetaFile.Create;

Meta.Width:=80; Meta.Height:=20;
Meta.Enhanced:=True;

Canv:=TMetaFileCanvas.Create(Meta,0);
Canv.Font.Size:=12; Canv.Font.Name:="Times New Roman";

Canv.TextOut(0,0,"Здрассьте");
Canv.Free;
Canv:=nil;

WD.ConnectTo(WA.ActiveDocument);

clp:=TClipboard.Create;
clp.Assign(Meta);
clp.Free;

WD.ActiveWindow.Selection.Paste;


Meta.Free;

WD.Disconnect;
WA.Activate;
WA.Disconnect;
end;


Где WA и WD - TWordApplication и TWordDocument соответственно.

Причем пытался смотреть размеры в миллиметрах через
Meta.MMWidth и
WA.PointsToMillimeters(WD.InlineShapes.Item(i).Width), дык совпадают же, что любопытно!!!

Я конечно могу сделать на два пункта меньше у себя в проге, но боюсь это от чего-то зависит...


 
Volj   (2002-06-27 15:16) [3]

Вставляй как
WD.ActiveWindow.Selection.PasteSpecial(Link:=False,
DataType:=wdPasteEnhancedMetafile,
Placement:=wdFloatOverText, DisplayAsIcon:=False);

иначе у тебя вставляется как рисунок.


 
alxx   (2002-06-27 15:48) [4]

Спасибо, сейчас попробую.
А можно ли сделать так, чтобы он и только он был selected после вставки?


 
Volj   (2002-06-27 16:22) [5]

Очевидно, да :) Пользуйся возможностью записи макросов. Deselect&select, и записанный макрос покажет тебе, что нужно сделать.


 
alxx   (2002-06-27 16:48) [6]

Возникла пара проблем:

а. Мне надо бы туда, где курсор
б. Надо бы в InlineShape, но в принципе могу сделать ConvertToInlineShape - но для этого надо знать номер Shape. Как бы?


 
alxx   (2002-06-28 10:12) [7]

Мне пришлось наворотить вот такое:

WD.ActiveWindow.Selection.ShapeRange.ConvertToInlineShape;

tt1:=wdCharacter; tt2:=1; tt3:=wdExtend;

WD.ActiveWindow.Selection.MoveRight(tt1,tt2,tt3);
WD.ActiveWindow.Selection.Cut;
WD.ActiveWindow.Selection.Start:=Trunc(X);
WD.ActiveWindow.Selection.Paste;
WD.ActiveWindow.Selection.
WD.ActiveWindow.Selection.MoveLeft(tt1,tt2,tt3);


Будет ли это правильно и всегда работать?



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

Форум: "Основная";
Текущий архив: 2002.07.15;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.011 c
6-47642
Dmitry100
2002-05-03 14:41
2002.07.15
UDP в Windos 2000


3-47226
diww
2002-06-20 12:14
2002.07.15
Помогите с запросом


1-47512
DenNNis
2002-07-04 15:14
2002.07.15
Глупые юзеры могут нажать кнопку и будет ошибка !!!


3-47103
leopoldo
2002-06-14 13:40
2002.07.15
Требуется помощь по таблице БД (Paradox)!!!


1-47246
onix
2002-06-28 13:25
2002.07.15
Уважаемые коллеги помогите разобраться с поведением Thread





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский