Как в обьекте MTEXT программно указать для первого символа одну высоту шрифта а для остальных другую?
Реклама i
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как в обьекте MTEXT программно указать для первого символа одну высоту шрифта а для остальных другую?

Как в обьекте MTEXT программно указать для первого символа одну высоту шрифта а для остальных другую?

Ответ
Поиск в этой теме
Непрочитано 29.10.2009, 15:56 #1
Как в обьекте MTEXT программно указать для первого символа одну высоту шрифта а для остальных другую?
DonVik
 
Украина
Регистрация: 07.02.2007
Сообщений: 222

Заранее прошу прощения если такая тема была.
Вопрос вот в чем: Я кликаю по обьекту MTEXT и меняю его текст:
Код:
[Выделить все]
Sub b()
 Dim a As AcadMText
 Dim pp(0 To 2) As Double
 ThisDrawing.Utility.GetEntity a, pp
 a.TextString = "qwe"
End Sub
Это не сложно.

Вопрос в том что мне нужно чтоб q было высотой 5 пунктов а we высотой 4 пункта, так вот как мне это сделать?

Вручную я это настраиваю в панели Tеxt Formatting а как это сделать программно?

И попутный вопрос - если мне нужно вставить греческий символ Делта, как мне лучше в программе указать его код или еще как нибудь?

Заранее спасибо
Просмотров: 3066
 
Непрочитано 29.10.2009, 16:32
#2
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


А ты посмотри что вернет textstring на твою "разновысотную" QWE -> "Q{\\H0.8x;we}" 0.8 это коэффицент от "основной высоты".
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Автор темы   Непрочитано 29.10.2009, 17:09
#3
DonVik


 
Регистрация: 07.02.2007
Украина
Сообщений: 222


Дима_, я так и сделал, и эту Q{\\H0.8x;we} билиберду записать попытался, но оно мне как раз это записывает текстом вместо
Qwe пишет Q{\\H0.8x;we}
DonVik вне форума  
 
Непрочитано 29.10.2009, 17:56
#4
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Это наверное привет от VBA - я его не знаю, на лиспе :
Код:
[Выделить все]
(entmod (subst (cons 1 "Q{\\H0.8x;we}" ) (assoc 1 (entget (entlast))) 
(entget (entlast))))
работает

оно-же как и
Код:
[Выделить все]
(vla-put-textstring (vlax-ename->vla-object (entlast)) "Q{\\H0.8x;we}")
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 29.10.2009, 20:39
#5
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


В лиспе символ слэша (\) нужно записывать двойным (\\). Возможно, в VBA этого делать не нужно. Попробуй записать как Q{\H0.8x;we}
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 29.10.2009, 21:29
#6
Олег (jr.)

специалист по околачиванию грушевых деревьев
 
Регистрация: 14.09.2004
Pietari, Venäjä
Сообщений: 811


Цитата:
Сообщение от DonVik Посмотреть сообщение
И попутный вопрос - если мне нужно вставить греческий символ Делта, как мне лучше в программе указать его код или еще как нибудь?
Еще несколько примеров:
Код:
[Выделить все]
Sub b()
 Dim a As AcadMText
 Dim pp(0 To 2) As Double
 ThisDrawing.Utility.GetEntity a, pp
 If TypeOf a Is AcadMText Then
 ''надстрочный текст
' a.TextString = "{\A1;Объем = 123.4м\H1.5;\S3^;}"
' ''подстрочный текст
' a.TextString = "{\A1;Q\H1.5;\S^общ.;}"
 '' дельта
  a.TextString = "\U+0394"
 End If
End Sub
Смотри другие символы в рисунке

~'J'~
Миниатюры
Нажмите на изображение для увеличения
Название: Symbol_List.jpg
Просмотров: 56
Размер:	53.7 Кб
ID:	27998  
Олег (jr.) вне форума  
 
Автор темы   Непрочитано 30.10.2009, 11:51
#7
DonVik


 
Регистрация: 07.02.2007
Украина
Сообщений: 222


Все ребята спасибо разобрался.
Мне как раз не хватало проверки TypeOf a Is AcadMText и я нарывался на AcadText, конечно там такое не страбатывало.
Когда это понял стал удалять эти тексты, а на их месте создавал MText.
DonVik вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как в обьекте MTEXT программно указать для первого символа одну высоту шрифта а для остальных другую?



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сейсмозащита и сейсмоизоляция существующих, построенных зд. IANationalInformAgentstvo Прочее. Архитектура и строительство 216 20.01.2015 16:51
Электромагнитная пушка T-Yoke Машиностроение 112 06.08.2008 18:48
Мониторы LCD CRT Разное 94 17.06.2008 10:51
Юмор 2007 Огурец Разное 1172 29.12.2007 11:16
ЮМОР 2006 =) Perezz!! Разное 1122 04.01.2007 00:46