Развернуть Grid... | |
---|---|
Aleksckjy Автор Сообщений: 75 Откуда: Москва Дата регистрации: 09.10.2011 |
Добрый день, ВСЕМ!
ЕСТЬ: форма с кучей объектов. НАДО: развернуть Grid1 на две-трети формы и сделать его поверх всех объектов. ============================================================================= Развернуть не проблема, а вот КАК вывести его (Grid1) на передний план..., подскажите, пожалуйста. ------------------ Человек умён, но ленив и жаден... |
Re: Развернуть Grid... | |
---|---|
1793 Сообщений: 290 Откуда: Озерск Дата регистрации: 17.10.2001 |
[Object.]ZOrder([nOrder]) посмотри
|
Re: Развернуть Grid... | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Добавлю
Выделяешь объект. Меню format-Bring to front (или из тулбара Layot) ------------------ |
Re: Развернуть Grid... | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Проще работать с контейнерами, объединяющими кучу совместно используемых (и совместно выводимых/скрываемых/сдвигаемых) объектов, чем с каждым объектом из этой "кучи" по отдельности. Вывод на передний план программно делает метод ZOrder. Правда в гриде есть свои кой какие глюки - например "просвечивающиеся" насквозь заголовки колонок. Поэтому я бы не советовал "просто" играться передним/задним планами.
Какие есть варианты: 1) использовать PageFrame - ярлычки листов можно убрать и переключать "активную" вкладку программно. 2) использовать контейнеры, но не "накладывать" их друг на друга, а "сдвигать" - например в область отрицательных координат. 3) упростить UI - разбить всё на несколько взаимодействующих форм (хотя в общем случае это гораздо сложнее сделать чем просто перераспределить кучу кнопок/полей/гридов по контейнерам или вкладкам pageframe). ------------------ WBR, Igor |
Re: Развернуть Grid... | |
---|---|
Aleksckjy Автор Сообщений: 75 Откуда: Москва Дата регистрации: 09.10.2011 |
======================================================. Посмотрел. Помогло. СПАСИБО! |
Re: Развернуть Grid... | |
---|---|
Aleksckjy Автор Сообщений: 75 Откуда: Москва Дата регистрации: 09.10.2011 |
============================================ СПАСИБО. С установкой порядка обхода объектов знаком... В данном случае управление объектом происходит программно. |
Re: Развернуть Grid... | |
---|---|
Aleksckjy Автор Сообщений: 75 Откуда: Москва Дата регистрации: 09.10.2011 |
==================================================================================================== Форма разбита на две области: доступ ко всей форме имеет привилегированный пользователь, а остальные лишь к левой её части. Работа обычного пользователя сводится к поиску нужного товара, выбора % скидки и количества товара, с последующим нажатием на кнопку "ПРОДАТЬ". ВСЁ! Решил "извратиться" и дать возможность распахивать/сворачивать GRID. Спасибо за помощь: метода ZOrder за глаза хватит 1. В данном проекте разбиение на страницы не обоснованно; 2. Для обычного пользователя правая часть формы закрыта: выдвигается объект SHAPE; 3. ! |
Re: Развернуть Grid... | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Это не обход, это то что ты просил. Вчитайся в слова) Обход в том же тулбаре, понаводи на кнопочки) Не совсем ясно, заем тут zorder. Я где то делал класс сплитер. Он как раз скрывал часть элементов формы. Так он всю форму пересчитывал. Наверное просто неверно выразился - "возможность распахивать/сворачивать GRID. "? Не очень ясно что за этим кроется ------------------ |
Re: Развернуть Grid... | |
---|---|
Aleksckjy Автор Сообщений: 75 Откуда: Москва Дата регистрации: 09.10.2011 |
Прошу извинить за моё косноязычие, но изменять порядок очерёдности (скан прилагаю) объектов на форме не нужно (лень . |
Re: Развернуть Grid... | |
---|---|
Aleksckjy Автор Сообщений: 75 Откуда: Москва Дата регистрации: 09.10.2011 |
Цитата: ZOrder помог сделать это (скан прилагаю). То что так сказать и заказывал Исправлено 1 раз(а). Последнее : Aleksckjy, 15.06.17 01:02 |
Re: Развернуть Grid... | |
---|---|
akvvohinc Сообщений: 4224 Откуда: Москва Дата регистрации: 11.11.2008 |
А разве "закрыть шейпом" делает правые объекты формы недоступными? Ну, максимум от клика мышью. |
Re: Развернуть Grid... | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Увы, вы так и не поняли. Еще раз. ТАМ ПОМИМО ПОРЯДКА ОБХОДА, ЕСТЬ "Bring to front" AND "Send to back" Картинок прикладывать не буду))) Ну каждому свое. Не обижайтесь - мне не нравится. Но теперь ясно что хотите. Думаю это решается, полу-стандартными средствами. Надо сохранять размеры формы, и настроек грида, у каждого пользователя. Где - отдельный, не раз обсуждавшийся вопрос. Я храню в реестре. Далее механизм простой. У грида анкор - на ширину. Все. Далее ваша форма, для одних с правой частью, все остается как есть. Для тех у которых нет правой части, грид и так будет на всю форму. Ее надо просто сжать, убрав лишнее. И ТУТ я все понял))) Все предыдущее оставлю, но думаю стоит иначе. У вас одна форма, для разных пользователей. Сделайте простой вариант. Для урезаных. В виде класса. От нее унаследуйте, и сделайте более сложную форму, для других пользователей. И запускать будет каждый свое. Но если вы измените что то в логике 1й формы (класса), оно автоматом поменяется и во второй. ------------------ |
Re: Развернуть Grid... | |
---|---|
Aleksckjy Автор Сообщений: 75 Откуда: Москва Дата регистрации: 09.10.2011 |
Доступ к объектам Определяет СТАТУС пользователя: обычный/привилегированный/"отец" создатель А наезд шейпом... чисто декоративное действо - эдакая сетка рабицы наброшена на объекты -, да, и от случайного клика мышью предохраняет. |
Re: Развернуть Grid... | |
---|---|
Aleksckjy Автор Сообщений: 75 Откуда: Москва Дата регистрации: 09.10.2011 |
Обычный пользователь работает, только с текущим днём. При выходе из проги запоминается состояние Grid-а - как это делается, не столь важно -, и восстанавливается при запуске проги. Сколько людей..., столько и мнений "Урезанный" в правах пользователь допущен лишь к поисковой строке, перечню номенклатуры товаров, выбору % скидки и кол-ва товара - подытоживая свой выбор, жмёт на кнопку "ПРОДАТЬ". У менее "урезанного": всё тоже самое... лишь итожная кнопка троится... - "ПРОДАТЬ"/"Брак"/"ВОЗВРАТ". Привилегированный: хозяйничает по всей форме. "Отец"-создатель, то бишь Я, воплощает СВОИ фантазии в силу СВОИХ познаний/умений и в минуты затруднений обращается в данное Сообщество Знающих людей за помощью... Ответ на свой вопрос ПОЛУЧИЛ - реализовал - СПАСИБО! Плодить формы для разграниченных в правах доступа пользователей считаю лишним (в данном проекте). ЗЫ: все советы услышал - переварю - решу. |
Re: Развернуть Grid... | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Можно и не плодить формы (хотя ООП позволяет с помощью классов решить всё достаточно красиво - уж точно без дублирования кода и/или размещения самих контролов по формам), но выставлять напоказ недоступные элементы (при том что их ещё и нужно делать недоступными - простое накрытие шейпом никак не помешает зайти с помощью клавиатуры в "накрытый" контрол) - по меньшей мере странное решение. Такое применяют иногда в trial/demo версиях программы - чтобы пользователь посмотрел на это и пожелал "купить полную версию". Для обычных рабочих программ если целый блок элементов пользователю "недоступен по правам", то его вообще убирают с глаз долой (куча разных способов есть - от просто прятания до полноценного RemoveObject() ). Заодно подтягивая/перераспределяя другие элементы управления по экрану (большие "пустые места" на форме - тоже убожество). Приложенные картинки готовой формы весьма наглядно показывают ущербность подхода... ------------------ WBR, Igor |
Re: Развернуть Grid... | |
---|---|
Aleksckjy Автор Сообщений: 75 Откуда: Москва Дата регистрации: 09.10.2011 |
1. На сканах запечатлена demo версия программы; 2. Для "урезанного" в правах пользователя форма трансформируется (изменяется в размерах) и отображает, только доступные для его статуса объекты. При "распахивании" GRID-а изменяется и размер формы. Недоступным объектам присваивается .Enabled = .F. ЗЫ: обычных пользователей вполне устраивает усечённый GRID, начальник захотел иметь возможность увидеть дополнительную информацию, что я с Вашей помощью и сделал "...убожество", "...ущербность подхода..." ========================================== Пусть будет так. Я задал вопрос - Вы помогли: СПАСИБО! |
Re: Развернуть Grid... | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Все верно. Разобрался заработало. Тут просто яркий пример, когда по делу, можно разобраться с ООП. Возможно сейчас некогда, неохота. Но возьми себе на заметку) ------------------ |
Re: Развернуть Grid... | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Так и надо делать. Не "штриховать" то что недоступно, а делать чтобы этого вообще не было видно. Опять же это тоже правильное решение - при том в нормальных программах делают либо на якорях (anchor) либо на "ручном" коде (якоря хороши для "статических" случаев - если часть контролов нужно убирать или наоборот добавлять в форму, они уже несколько неудобны становятся) подгонку контролов к текущему размеру формы - чтобы пользователь мог спокойно растянуть форму до удобных ему размеров. Формы с неизменяемыми размерами в большинстве случаев это убогость реализации - особенно если там есть те или иные "списки" или просто "большие" объекты (grid, listbox, дерево, editbox с большим объёмом текста - всё то что сильно выигрывает от "увеличения размера"). Следующим логическим шагом является "запоминание" размеров и положения формы чтобы при очередном вызове всё показалось так "как было прошлый раз", и пользователю не пришлось заново растягивать/перемещать эту форму. ------------------ WBR, Igor |
Re: Развернуть Grid... | |
---|---|
of63 Сообщений: 25256 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
() Растягивать форму оказалось неприменимо на практике, без увеличения шрифтов. Полезно было бы как в планшетах, увеличивать форму как под лупой, или как в браузерах - увеличение с автоперемещением контролов... В реалии пока еще в фоксовой проге формы, рожденные под 800x600, и переделать их - дорогое удовольствие... Не понятно, почему господа в МС не сделали увеличялку (как Ctrl-+ в баузерах) хотя-бы для виндовых прог, вроде просто (со шрифтами м.б. проблемы, но решаемые вроде!)...
|
Re: Развернуть Grid... | |
---|---|
ssa Сообщений: 13008 Откуда: Москва Дата регистрации: 23.03.2005 |
Хм, а почему к меня все ровно наоборот? ЧЯДНТ? ------------------ Лень - это неосознанная мудрость. |
© 2000-2024 Fox Club  |