Автор Тема: Динамически установить выстоту listbox по количеству строк  (Прочитано 814 раз)

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

Эта тема содержит сообщение, помеченное как лучший ответ. Кликните здесь для перехода к этому сообщению.

Оффлайн Pahuchiy [?]

  • Новичок
  • *
  • Сообщений: 35
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
как?
и чтобы работало с нечётным количеством строк
« Последнее редактирование: Апрель 02, 2017, 19:05:04 от Pahuchiy »

Русское сообщество AutoIt


Оффлайн ra4o [?]

  • Скриптер
  • ****
  • Сообщений: 666
  • Репутация: 111
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Посмотрите функцию и пример из справки:
Код: AutoIt [Выделить]
#include <GuiListBox.au3>
_GUICtrlListBox_SetItemHeight($hWnd, $iHeight [, $iIndex = 0])


Оффлайн Pahuchiy [?]

  • Новичок
  • *
  • Сообщений: 35

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
эта функция устанавливает высоту каждой строки(ячейки), а я спрашивал про весь listbox. То есть, изменять высоту не меняя высоту каждой строки.

Оффлайн ra4o [?]

  • Скриптер
  • ****
  • Сообщений: 666
  • Репутация: 111
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Цитировать
эта функция устанавливает высоту каждой строки(ячейки), а я спрашивал про весь listbox.
Не совсем понятно, в чём разница между "каждой" и "весь"...
(нажмите для показа/скрытия)

Русское сообщество AutoIt

Re: Динамически установить выстоту listbox по количеству строк
« Ответ #3 Отправлен: Апрель 05, 2017, 09:29:11 »

Оффлайн Pahuchiy [?]

  • Новичок
  • *
  • Сообщений: 35

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
ок, чтобы не усложнять, напишу что мне надо в итоге:

Листбокс должен быть без прокрутки и сортировки.
Нужно чтобы при каждом добавлении новой строчки листбокс менял бы свою высоту на столько чтобы был виден каждый пункт. (и не было бы пустой строки в конце: что-то там с нечётным количеством были какие-то заморочки, кажется, я не совсем понял...)
А при удалении строки, высота должна уменьшаться.

То есть, если 3 строки то высота листбокса должна быть 3*13(высота строки по умолчанию)+4(рамка). Эту формулу я применяю при создании листбокса. А как изменить высоту уже существующего?
Нашёл ControlMove(). Но в ней необходимо указывать окно. А если не указывать, то нужно перебирать все окна....
« Последнее редактирование: Апрель 05, 2017, 10:21:55 от Pahuchiy »

Помечен как лучший ответ пользователем Pahuchiy Отправлен Апрель 05, 2017, 17:45:19

Оффлайн ra4o [?]

  • Скриптер
  • ****
  • Сообщений: 666
  • Репутация: 111
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Так ?
(нажмите для показа/скрытия)

Русское сообщество AutoIt

Re: Динамически установить выстоту listbox по количеству строк
« Ответ #5 Отправлен: Апрель 05, 2017, 13:20:24 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
7 Ответов
6194 Просмотров
Последний ответ Апрель 16, 2010, 16:05:38
от Suppir
10 Ответов
4752 Просмотров
Последний ответ Июль 12, 2010, 18:27:35
от dwerf
2 Ответов
2307 Просмотров
Последний ответ Октябрь 03, 2011, 10:45:46
от ZaEzzz
1 Ответов
1667 Просмотров
Последний ответ Октябрь 30, 2013, 12:47:22
от InnI
1 Ответов
1215 Просмотров
Последний ответ Январь 18, 2014, 17:13:38
от AZJIO
3 Ответов
828 Просмотров
Последний ответ Декабрь 24, 2014, 15:14:00
от f9n6001
5 Ответов
2840 Просмотров
Последний ответ Апрель 14, 2015, 12:59:58
от nowost
6 Ответов
2356 Просмотров
Последний ответ Октябрь 14, 2015, 15:03:47
от NinjaScript
2 Ответов
1547 Просмотров
Последний ответ Август 30, 2015, 05:49:30
от madmasles
2 Ответов
1983 Просмотров
Последний ответ Декабрь 07, 2015, 21:31:52
от Dm666