Форум
Написать нам
  • Страница 1 из 1
  • 1
Модератор форума: as-master  
Некая концепция листбокса
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)
постораюсь ВСЕ функции листбокса повторить

У меня, при повторе, получаеться гораздо умнее чем было, по идее,
чем больше переделываеш, тем лучше, да вот облом переделывать,
только если исходник пропадет.
 
  • Страница 1 из 1
  • 1
Поиск: