Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как реализовать выпадающую форму-диалог, выпадающая форма-диалог 
:(
    Опции темы
VladBD
Дата 17.12.2007, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 19.11.2006

Репутация: нет
Всего: 5



Есть ли реализованный такой компонент. Или как сделать в гриде такой выпадающий диалог?
Думаю что только создание формы и отображение ее в момент нажатия - решит данный вопрос.
Есть ли еще какие-нить предложения?
user posted image
PM MAIL   Вверх
ivan219
  Дата 17.12.2007, 22:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1121
Регистрация: 19.11.2005
Где: Планета земля

Репутация: 5
Всего: 12



Ну встроить туда ComboBox
PM MAIL ICQ   Вверх
mr.Anderson
Дата 17.12.2007, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 3
Всего: 128



ivan219, и каким образом вы предлагаете в ComboBox (!) запихать столько элементов? Я бы делал через панель. Форму - это лишнее, а вот панельку никто не мешает сделать...


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
ivan219
  Дата 17.12.2007, 23:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1121
Регистрация: 19.11.2005
Где: Планета земля

Репутация: 5
Всего: 12



Цитата(mr.Anderson @  17.12.2007,  22:46 Найти цитируемый пост)
ivan219, и каким образом вы предлагаете в ComboBox (!) запихать столько элементов?

Если нужно то можно smile 
А так немного ошибся недоглядел думал обычный список как в ComboBox его характерный значёк 'перевёрнутый треугольник' сбил столку smile 
PM MAIL ICQ   Вверх
VladBD
Дата 18.12.2007, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 19.11.2006

Репутация: нет
Всего: 5



mr.Anderson, правильно ли я понял
1. по клику отображаю панельку в координатах или динамически сначала создаю потом отображаю - как кстати лучше?
2. как скрывать панельку, помню было какое-то событие типа мышь ушла за пределы компонента панели?
PM MAIL   Вверх
mr.Anderson
Дата 18.12.2007, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 3
Всего: 128



VladBD, лучше всего сделать панельку в design-time и сделать невидимой, а потом по клику менять Visible. Чтобы пропадала при уведении с нее мышки - есть много разных вариантов. Как один из них: если под панелью будет находиться, скажем, "полноформный" компонент TStringList, то можно повесить на этот стринглист обработку движения по нему указателя мыши, а в этом обработчике скрывать панель.


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
lukas
Дата 18.12.2007, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 771
Регистрация: 23.2.2007

Репутация: 3
Всего: 15



я бы сделал отдельную форму... и загружал ее примерно так...


Код

Editor.Left:=Mouse.CursorPos.X; 
Editor.Top:=Mouse.CursorPos.Y;
Editor.ShowModal;


Еще я делал у такого рода форм-редакторов результирующую переменную... по ней и узнавал... было ли редактирование или нет... и получалось вроде следующего...

Код

Editor.Left:=Mouse.CursorPos.X; 
Editor.Top:=Mouse.CursorPos.Y;
Editor.ShowModal;
  if Editor.ResEdit<>-1 then
   // Работаем с ResEdit как с результатом диалога...



--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
mr.Anderson
Дата 18.12.2007, 19:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 3
Всего: 128



И все же, на мой взгляд, оптимальней панель. Нет дополнительного юнита, его не нужно подключать, не нужно регулировать модальность формы и вообще включать ее (что не очень удобно). Плюс непонятно, как с формой вы собираетесь скрыть ее при уведении с нее мышки. Нет, это возможно, конечно, вот только зачем эти сложности.


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
lukas
Дата 18.12.2007, 21:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 771
Регистрация: 23.2.2007

Репутация: 3
Всего: 15



такие формы не скрываются при уведении с них мышки... они закрываются крестиком... таже на скрине аналогично...  + на скрине уже видно что это не панель, т.к. за нижний правый угол можно увеличивать размеры... (как у форм)

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

Это сообщение отредактировал(а) lukas - 18.12.2007, 21:56


--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
VladBD
Дата 18.12.2007, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 19.11.2006

Репутация: нет
Всего: 5



lukas, полностью согласен с тобой - буду реализовывать с помощью формы + обязательно форма возвращать должна результат (как модальная mrResult например). Еще такой момент там форма закрывается при еще одном нажатии на комбо - но это уже кодинг - думаю проблем не будет.
Плюсы : дальнейшее использование в других программах и даже в разных формах одного многооконного приложения. Тупо на разных формах одного и того же проекта держать одну панель - а если другая нужна будет или несколько всяких видов...
Буду разбираться - если не смогу сделать возврат результата из формы (мне нужна строка) спрошу что-нить конкретнее.

mr.Anderson - счас такой момент когда смотрю на свои старые проги с презрением - пытаюсь писать так - чтобы не было потом стыдно за код ))) Времена Enabled or Visible=False для меня проходят  smile 


Это сообщение отредактировал(а) VladBD - 18.12.2007, 22:17
PM MAIL   Вверх
mr.Anderson
Дата 19.12.2007, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 3
Всего: 128



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


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
Beltar
Дата 21.12.2007, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 627
Регистрация: 11.1.2006

Репутация: 0
Всего: 7



Может ее вообще в компонент запихнуть? smile Что-то мне подсказывает ,что она не в одной программе может использоваться.
Насчет автоматического исчезновения при уведении мыши я бы еще подумал. Не в плане реализации, а в плане не будет ли это напрягать юзера.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. smile(с) я, хотя может и нет
Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере.
PM MAIL   Вверх
Lunatikus
Дата 21.12.2007, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 29.6.2007

Репутация: нет
Всего: 6



всплывающие окна,по моему мнению,вредят юзеру как раз.Ну многим,точно.Достается,когда,например,хочешь к кнопке "пуск",а тебе выскакивает всплывающее окошко.
ЛУчше раздвигать рабочую область и отображать там нужные элементы.По второму нажатию возвращать в исходное положение.

Это сообщение отредактировал(а) Lunatikus - 21.12.2007, 17:47


--------------------
TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games).
сайт гильдии
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0649 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.