Как фиелды могут быть связаны между собой?

Автор Тема: Как фиелды могут быть связаны между собой?  (Прочитано 5786 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн filatАвтор темы

  • ADN Club
  • ****
  • Сообщений: 265
  • Карма: 2
Есть штамп чертежа с фиелдами.
Я для одного фиелда нужно кодом добавить подчеркивание:
Код - Visual Basic [Выбрать]
  1. Public Sub UndMate2()
  2.     Dim dDoc As DrawingDocument
  3.     Set dDoc = ThisApplication.ActiveDocument
  4.     Dim sSheet As Sheet
  5.     Set sSheet = dDoc.ActiveSheet
  6.     Dim sBoxs As TextBoxes
  7.     Dim sBox As TextBox
  8.     Set sBoxs = sSheet.TitleBlock.Definition.Sketch.TextBoxes
  9.     For Each sBox In sBoxs
  10.         If sBox.Text = "MATE2" Then
  11.             sBox.Style.Underline = True
  12.             Exit Sub
  13.         End If
  14.     Next
  15. End Sub
Операция происходит один раз, но подчеркивание появляется еще и у нескольких других фиелдов. Как это может быть? И как с этим бороться?
P.S. При добавлении подчеркивания вручную все проходит нормально.

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 752
  • Карма: 195
  • Skype: mikazakov@mail.ru
sBox.Style.Underline = True
Может ты программой редактируешь стиль на который текстбокс ссылается?
Вот и на выходе у тебя все текстбоксы которые к этому стили привязаны тоже изменяются.
Что бы кусок текста подчеркнуть нужно тэги добавлять, инфа об это есть в хэлпе

Оффлайн Алексей Романов

  • ADN Club
  • **
  • Сообщений: 87
  • Карма: 20
Миша тут прав, попробуй так:
Код - Visual Basic [Выбрать]
  1. If sBox.Text = "MATE2" Then
  2.     sBox.FormattedText = "<StyleOverride Underline='True'>" & sBox.Text & "</StyleOverride>"
  3.     Exit Sub
  4. End If

Оффлайн filatАвтор темы

  • ADN Club
  • ****
  • Сообщений: 265
  • Карма: 2
"<StyleOverride Underline='True'>" & sBox.Text & "</StyleOverride>"
Это интересный подход, но применение в таком виде происходит стерание Value у фиелда и вместо него выводится имя фиелда.

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 752
  • Карма: 195
  • Skype: mikazakov@mail.ru
но применение в таком виде происходит стерание Value у фиелда и вместо него выводится имя фиелда.
ну филат может еще один чертежный стиль сделать для твоих текстбоксов?

Оффлайн filatАвтор темы

  • ADN Club
  • ****
  • Сообщений: 265
  • Карма: 2
но применение в таком виде происходит стерание Value у фиелда и вместо него выводится имя фиелда.
ну филат может еще один чертежный стиль сделать для твоих текстбоксов?
Пришлось, все таки так и сделать... - не хотелось количество стилей множить, но это точно работающий вариант.

Оффлайн Алексей Романов

  • ADN Club
  • **
  • Сообщений: 87
  • Карма: 20
но применение в таком виде происходит стерание Value у фиелда и вместо него выводится имя фиелда.
Я думал сам догадаешься... Там, наверное, уже было форматирование и какое-нибудь свойство подвязано. Надо разбирать строку, отдельный стиль будет попроще...