Popup - продолжить изменение
Clarion, Clarion 7
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
-
- Полимат
- Сообщения: 1817
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 27 раз
- Поблагодарили: 10 раз
Popup - продолжить изменение
Через popup вывожу список с чекетами, например как на рис.,
Нужно, чтобы при открытии и выборе чекета сделать множественный выбор без закрытия popup-a.
Нужно, чтобы при открытии и выборе чекета сделать множественный выбор без закрытия popup-a.
- Вложения
-
- c_checked.jpg (5.61 КБ) 2245 просмотров
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
gopstop2007
- Дед Пахом
- Старичок
- Сообщения: 3300
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 15 раз
- Поблагодарили: 51 раз
- Контактная информация:
Дед Пахом
- Admin
- Администратор
- Сообщения: 4010
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 53 раза
- Поблагодарили: 33 раза
- Контактная информация:
Popup - продолжить изменение
Скорее всего, возможно только в случае ручного рисования popup через API
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Admin
- Губин Игорь
- Шубуршун
- Сообщения: 2584
- Зарегистрирован: 16 Сентябрь 2005, 16:35
- Откуда: Москва
- Благодарил (а): 3 раза
- Поблагодарили: 26 раз
Popup - продолжить изменение
открыть снова?
Это я только кажусь дураком! На самом деле я полный идиот!
Губин Игорь
-
- Полимат
- Сообщения: 1817
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 27 раз
- Поблагодарили: 10 раз
Popup - продолжить изменение
так и делаю, может есть другое решение?

“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
gopstop2007
- Губин Игорь
- Шубуршун
- Сообщения: 2584
- Зарегистрирован: 16 Сентябрь 2005, 16:35
- Откуда: Москва
- Благодарил (а): 3 раза
- Поблагодарили: 26 раз
Popup - продолжить изменение
Стандартными для Клариона, если верить документации - нет. Кроме выпадения меню, всё остальное ведёт к закрытию и обработке.
Надо учитывать, что PopUp возвращает только одно значение
Это я только кажусь дураком! На самом деле я полный идиот!
Губин Игорь
-
- ✯ Ветеран ✯
- Сообщения: 5169
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Popup - продолжить изменение
ИМХО, при использовании попап в таком виде страдает юзабилити. Окно настроек должно иметь кнопки ОК и неОК. Поэтому я бы заменил бы обычным окном. Ещё вариант как сделано в IBExpert'е. Есть вызов подобного попап меню с несколькими чекам, срабатывает как положено, меню закрывается при однократном выборе. Но последним пунктом в меню, ниже все чеков, является "Customize", при нажатии на который вызывается обычное окно настроек с этими же самыми чеками. Правда там единственная кнопка "Close". Эксперт написан на Дельфи. Наверно нет такого АПИ, чтобы сделать множественный выбор, раз Дельфи не может. Может Дельфи и не показатель.
We are hard at work… for you. 

kreator
- Игорь Столяров
- Ветеран движения
- Сообщения: 8073
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 29 раз
- Поблагодарили: 98 раз
Popup - продолжить изменение
Ну, как говориться, если нет счастья в жизни - то надо его хотя бы иногда имитировать … 
Нет никаких проблем нарисовать окно без заголовка и рамки, выставить его координаты и размер при открытии.
В окне нарисовать OPTION BOX / BUTTON (в т.ч. и динамически), обработать пукты с нужным функционалом, в т.ч. и множественный выбор.
Получится даже намного красивее, чем стандартный POPUP, оформительские возможности которого застряли в интерфейсе Win3.1

Нет никаких проблем нарисовать окно без заголовка и рамки, выставить его координаты и размер при открытии.
В окне нарисовать OPTION BOX / BUTTON (в т.ч. и динамически), обработать пукты с нужным функционалом, в т.ч. и множественный выбор.
Получится даже намного красивее, чем стандартный POPUP, оформительские возможности которого застряли в интерфейсе Win3.1
Последний раз редактировалось Игорь Столяров 02 Июль 2018, 13:24, всего редактировалось 2 раза.
Make Clarion Great Again ! 
Игорь Столяров
- Admin
- Администратор
- Сообщения: 4010
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 53 раза
- Поблагодарили: 33 раза
- Контактная информация:
Popup - продолжить изменение
Андрей Попов в свое время делал полностью кастомную отрисовку popup через API.
Было помнится в CFC_Library. Можно там покопаться.
Было помнится в CFC_Library. Можно там покопаться.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Admin
-
- Полимат
- Сообщения: 1817
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 27 раз
- Поблагодарили: 10 раз
Popup - продолжить изменение
Интересно, посмотрю.Admin писал(а): 02 Июль 2018, 8:34 Андрей Попов в свое время делал полностью кастомную отрисовку popup через API.
Было помнится в CFC_Library. Можно там покопаться.
Можно было бы сделать в PopUp Multiselect = true (false - по умолчанию), но видать не сильно всем нужно

Пока обхожусь таким способом, правда моргает popup, примерно так:
Код: Выделить всё
MyRoutine ROUTINE
l_popupcycle = 0
IF NOT SET:PopupFontsSize THEN SET:PopupFontsSize = 10 END
pstr" = PROP:FontSize &'('& SET:PopupFontsSize * 1.2 &'),'& PROP:FontCharSet &'('&CHARSET:CYRILLIC
PopupRefers.Init()
PopupRefers.AddItem('['& PROP:Icon & CHOOSE(l_Check=1,'(check.ico),','(Uncheck.ico),')& CLIP(pstr") &')]Check/Uncheck','CheckUncheck')
IF GetWindowRect(?MyButton{Prop:Handle},address(loc:Rect)) THEN PopSelectedItem=PopupRefers.Ask(loc:Rect.rLeft,loc:Rect.rBottom) END
CASE PopSelectedItem !проверка выбора пункта меню
OF 'CheckUncheck
l_Check = 1 - l_Check
DO MyCode
l_popupcycle = 1
END
PopupRefers.Kill
IF l_popupcycle THEN DO MyRoutine END
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
gopstop2007
Вернуться в «CLARION for Windows»
Перейти
- CW
- ↳ CLARION for Windows
- ↳ CLARION for Internet
- ↳ Clarion.NET
- Эксклюзив
- ↳ Приват
- CLARION и...
- ↳ Reports
- ↳ Железо
- ↳ Готовые программы, шаблоны, библиотеки...
- ↳ cJSON
- ↳ LibCurl
- ↳ MAV
- ↳ SQL, Oracle, ...
- ↳ Multi-программирование(Pascal/Delphi, и т.д.)
- ↳ WinDev
- DOS
- ↳ CLARION for DOS
- Разное
- ↳ Новости
- ↳ English
- ↳ Ресурсы
- ↳ Работа
- ↳ Обо всем ...
- ↳ Обсуждение этого Форума (типа, Гостевая книга)