Некая концепция листбокса
|
|
DEMBEL | Дата: Суббота, 05 Апреля 2008, 19:18 | Сообщение # 1 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
| При написании многих проектов давно назрела эта проблема с листбоксами. А именно - абсолютная невозможность создать устраивающий меня дизайн проекта (ну если только он не черный:), если в нем есть обьекты Listbox. Надоевшую рамку еще можно убрать, но фоновая заливка однородным цветом на самом деле ограничивает возможности дизайна очень сильно. В связи с этим вопрос к разбирающимся людям - может можно избавиться от нее? Пошевелив мозгом, в своем новом тварении эта проблема была мной решена. Нельзя сказать что это универсальное решение, конечно, но хоть чтото... От использования листбокса я решил отказаться, как альтернатива - использование нужного количества текстовых полей (Textbox). У меня их 7 штук. Все операции с ними проводятся вручную (при этом как бы эмулируются функции листбокса) с использованием массивов переменных и их обработкой в цикле. Это приводит к тому, что обрабатываются все текстбоксы независимо от их кол-ва. А если еще повесить на текстбоксы нужные скрипты или действия, то можно с успехом подменить некоторые функции листбокса (ну по крайней мере, мне хватило). Большой минус - нельзя(или можно?) считывать и передавать содержимое текстбокса непосредственно в переменную. Частично эта проблема решается опять же через временно создающийся массив переменных, который формируется заранее при загрузке значений в текстбоксы и сохраняется в файл или реестр, потом их можно загрузить (и если надо, то обработать в цикле, где решается их дальнейшая судьба, так сказать...). В результате этих ухищрений мне удалось в общем-то добиться желаемого. Можно ли эту проблему решить по-другому, может плагины есть какие-нибудь для листбокса? Код в результате моих операций получился в принципе не монстроподобный (все таки массивы и циклы это удобно), но все же это не настоящий листбокс...
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
|
|
| |
toizy | Дата: Воскресенье, 06 Апреля 2008, 11:34 | Сообщение # 2 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Quote (DEMBEL) считывать и передавать содержимое текстбокса непосредственно в переменную В свойствах эдита есть поле для определения имени переменной, в которую будет передаваться текст, введённый в эдит. Плагинов нет, но можно сделать.
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
DEMBEL | Дата: Воскресенье, 06 Апреля 2008, 15:52 | Сообщение # 3 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
| да, я вначале попробовал эдит, но мне нежелательно изменение пользователем переданных в него данных, да к томуже на него скрипты не вешаются. а кто нибудь сделает такой плагин? Добавлено (06 Апрель 2008, 13:25) --------------------------------------------- уже почти получилось эмулировать функцию листбокса GetSelectedItems... Добавлено (06 Апрель 2008, 13:31) --------------------------------------------- скрипты не вешаются это в том смысле, что при щелчке по едиту нельзя действия запустить. Например, щелкаешь по полю, появляются элементы управления пунктом - переместить вверх/вниз, удалить и т.п. Добавлено (06 Апрель 2008, 15:52) --------------------------------------------- хм, получилось сделать управление пунктами... если было бы можно еще полосу прокрутки приделать:)))
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
|
|
| |
Alex3A | Дата: Суббота, 03 Мая 2008, 19:17 | Сообщение # 4 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Quote (toizy) Плагинов нет, но можно сделать Да, вялялись у меня где то, с фоном в виде внешнего рисунка, да немного коряво отрисовывает выделение строк, пока забросил.
|
|
| |
toizy | Дата: Воскресенье, 04 Мая 2008, 11:19 | Сообщение # 5 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Quote (Alex3A) Да, вялялись у меня где то, с фоном в виде внешнего рисунка, да немного коряво отрисовывает выделение строк, пока забросил это ничего... просто не листбокс надо юзать, а листвью. я там делал свою отрисовку - нормально. можно вообще нарисовать что хош, только бы значть чего и как именно.
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
Alex3A | Дата: Воскресенье, 04 Мая 2008, 12:35 | Сообщение # 6 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Quote (toizy) это ничего... просто не листбокс надо юзать, а листвью. Вполне согласен, сейчас время от времени юзаю, просто изначально я занимался листбоксом, и вцл и кол. Но по природе они довольно горбатые. Еще бы скроллер заказной к ним.
|
|
| |
DEMBEL | Дата: Пятница, 09 Мая 2008, 11:49 | Сообщение # 7 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
| странно даже, то что я соорудил работает... строки можно двигать вверх-вниз, удалять, сортировать, возвращать/загружать/сохранять их значения, прикрутил еще возможности смены параметров шрифта и его цвета
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
|
|
| |
Alex3A | Дата: Пятница, 09 Мая 2008, 12:24 | Сообщение # 8 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Quote (DEMBEL) странно даже, то что я соорудил работает... Молодец, стоит только захотеть и все получиться, главное желание. Выложи, мож asmaster закинет в качестве демопримера на сайт.
|
|
| |
DEMBEL | Дата: Пятница, 09 Мая 2008, 12:52 | Сообщение # 9 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
| ну если он захочет тогда канешна... только тогда я сперва для смеху постораюсь ВСЕ функции листбокса повторитьДобавлено (09 Май 2008, 12:52) --------------------------------------------- т.к. пока я сделал только те которые мне были нужны. выглядит все зашибись. только о некоторых приблудах листбокса конечно не может быть и речи (типа drag`n`drop)
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
|
|
| |
Alex3A | Дата: Пятница, 09 Мая 2008, 13:23 | Сообщение # 10 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Quote (DEMBEL) постораюсь ВСЕ функции листбокса повторить У меня, при повторе, получаеться гораздо умнее чем было, по идее, чем больше переделываеш, тем лучше, да вот облом переделывать, только если исходник пропадет.
|
|
| |