Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
5454 / 1135 / 49
Регистрация: 15.09.2012
Сообщений: 3,438
1

Свойство "IntegralHeight" у "TextBox"

28.10.2013, 09:02. Просмотров 1949. Ответов 4
Метки нет (Все метки)

Тема про "TextBox", который находится на пользовательской форме.

Как создать ситуацию, чтобы посмотреть, как это свойство работает?

Это свойство делает две вещи (как я понял):
  1. возвращает какое-то значение, связанное с тем: полностью отображается строка по высоте или нет;
  2. что-то ещё делает. Вот как создать ситуацию, чтобы посмотреть, что ещё делает это свойство.
1
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.10.2013, 09:02
Ответы с готовыми решениями:

Отметить полужирным шрифтом в исходном тексте слова имеющие приставки "пре", "при", "на", "не"
Отметить полужирным шрифтом в исходном тексте слова имеющие приставки "пре", "при", "на", "не"....

Проверить, содержит ли строка символы отличные от "+", "-", "*" и "/"
"+", "-", "*" и "/" вот начал, дальше не знаю что делать Sub rr() Dim s As String,...

MS Acces VBA. Как вывести поле "фамилия" и "группа" из таблицы "студенты" в Access ?
Использовать Fields? Посмотрите в рисунке задания.

Выборка уникальных дат из строк листа "l1" и помещение их в лист "l3", Не получается. На листе "l3" вставляет
Запускаю с листа "l1" построчно работает, но мне нужно, чтобы заполнялись столбцы, начиная со...

4
6056 / 1300 / 193
Регистрация: 12.12.2012
Сообщений: 1,019
28.10.2013, 11:14 2
Лучший ответ Сообщение было отмечено как решение

Решение

Здравствуйте, Скрипт,
Создать ситуацию, позволяющую увидеть действие этого свойства, можно с помощью следущих действий:

1) создаем форму UserForm1;
2) создаем на форме элемент ListBox1;
3) в коде формы вводим следующий код:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Private Sub UserForm_Initialize()
    With Me
        .Width = 210
        .Height = 180
        With .ListBox1
            .Left = 24
            .Top = 18
            .Height = 120
            With .Font
                .Name = "Tahoma"
                .Size = 36
            End With
            .IntegralHeight = False 'Ставим фиксированный размер поля по высоте.
            '.IntegralHeight = True 'Разрешаем программе изменять размер поля по высоте
                                    'так, чтобы текст укладывался в нем целое число раз.
            .AddItem "Item 1"
            .AddItem "Item 2"
            .AddItem "Item 3"
        End With
    End With
End Sub
4) запускаем форму;
5) закрываем форму, комментируем в коде 13 строчку и снимаем комментарий с 14 строчки (первый апостроф, а не второй);
6) снова запускаем форму и сравниваем результаты. Выводы за вами.

С уважением,
Aksima
3
5454 / 1135 / 49
Регистрация: 15.09.2012
Сообщений: 3,438
28.10.2013, 12:44  [ТС] 3
Aksima, т.е. получается, что мы указываем высоту листбоксу, но высота становится не та, которую мы указали, а с учётом высоты текста в строке. Таким образом, чтобы было целиком видно строки.


Пытаюсь посмотреть, как сделать в "TextBox". Вот такой код не работает - строка не полностью отображается:
Visual Basic
1
2
3
4
5
6
7
Private Sub CommandButton1_Click()
    
    Me.TextBox1.Font.Size = 36
    Me.TextBox1.Height = 25
    Me.TextBox1.IntegralHeight = True
    
End Sub
Что не так делаю?
0
6056 / 1300 / 193
Регистрация: 12.12.2012
Сообщений: 1,019
28.10.2013, 12:59 4
Скрипт, честно, не знаю.

У меня есть предположение, что в более ранних версиях Excel в элементе TextBox было разделение обязанностей между свойствами AutoSize и IntegralHeight: AutoSize регулировал только ширину TextBox, а IntegralHeight - его высоту.
К сожалению, не могу проверить свое предположение, так как под рукой есть только 2007 и 2010 версии... Но могу сказать, что сейчас для корректировки размеров TextBox как по ширине, так и по высоте достаточно только свойства AutoSize:

Visual Basic
1
2
3
4
5
6
7
Private Sub CommandButton1_Click()
 
    Me.TextBox1.Font.Size = 36
    Me.TextBox1.Height = 25
    Me.TextBox1.AutoSize = True
 
End Sub
Поэтому, наверное, свойство IntegralHeight и не работает больше с элементом TextBox...

С уважением,
Aksima
1
5454 / 1135 / 49
Регистрация: 15.09.2012
Сообщений: 3,438
21.12.2013, 09:17  [ТС] 5
Цитата Сообщение от Aksima Посмотреть сообщение
Но могу сказать, что сейчас для корректировки размеров TextBox как по ширине, так и по высоте достаточно только свойства AutoSize:
не соглашусь, что этого достаточно. Если макросу надо регулировать только высоту поля, то понадобится делать ещё дополнительный код, который будет корректировать ширину поля.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.12.2013, 09:17

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Присвоить значение "10" элементам большим "120" и меньшим"150" масива Р(10,20)
Простите за дублирование, но мой прошлый вопрос не увенчался большим успехом... Присвоить значение...

В последнем абзаце удалить все вхождения символов "+","-", "*"
Дан любой текст В последнем абзаце удалить все вхождения символов "+","-", "*".

Как сделать, чтобы kod= "=Find("","", R2C1, 1)"
Как следующий код Cells(1, 9).Select ActiveCell.FormulaR1C1 = '=Find('','', R2C1, 1)' kod =...

Нужно что бы при установки галки сумма вбитая в кол-ку "сумма" переходила в "Частично оплаченно" далее в "остаток"
Помогите умоляю. От этого зависет моя дальнейшая трудовая деятельность.Итак к главному.Смысл вот в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.