|
Управление формами
|
|||
---|---|---|---|
#18+
GVOVинтерфейс разработанный под мониторы 800*600Что, реально? Остались работадтели-изверги у которых такие моники? Или книжек начитался? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2016, 17:00 |
|
Управление формами
|
|||
---|---|---|---|
#18+
Панург, Ошибся. 1024*768. И прямоугольник такой как будто в форме 2 нарисовал а написал глупость ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2016, 17:15 |
|
Управление формами
|
|||
---|---|---|---|
#18+
Центрировать форму при восстановлении как будто научился, хотя сомневаюсь в правильности способа, к тому же тот способ не действует для центрирования диалоговой формы 3, то есть работает только при минимизированной форме а при восстановленной не действует. Ну и вышеописанную проблему отчёта побороть не удалось. Может кто подтолкнёт кв правильную сторону? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2016, 22:39 |
|
Управление формами
|
|||
---|---|---|---|
#18+
Пытаюсь всё таки добиться нужного результата, даётся очень трудно. Центрировать формы на экране научился (хотя не очень то и точно по высоте, не по центру клиентской области а только по центру экрана, что не так красиво но лучше не получается). Всплыла серьезная проблема с открытием диалогового окна и отчёта. Когда открыть с формы 2 диалоговое окно то выглядит как будто хорошо. Переход на другую задачу и назад с помощью Alt+Tab - нормальный. Но только стоит перейти на другую задачу с помощью щелчка мыши по панели задач и так же назад, диалоговое окно скрывается и показывается форма 2 которая недоступна. То же самое и с отчётом. Что я делаю не так? Помогите. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2016, 01:56 |
|
Управление формами
|
|||
---|---|---|---|
#18+
Панург, Большое спасибо за пример. В коде нашёл для себя много полезного. Позиционирования то что надо, но проблема с отчётом и диалоговым окном не решена. Если запускаем диалоговое окно а потом мышкой переходим на другую программу то уже вернуться на него не получается а возвращаемся на форму 2 с которой оно было запущено и которая стает недоступной. Выход только в переключении Alt+Tab, до чего пользователи не додумаются. С отчётом ещё хуже, потому как скрывается форма а при восстановлении отчёта, пользователь формы не видит, а только после его закрытия. Если форму не скрывать то отчёт всё равно при восстановлении спокойно теряет фокус, хотя он задумывался как диалоговое окно. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2016, 10:56 |
|
Управление формами
|
|||
---|---|---|---|
#18+
И ещё как сделать чтобы формы 1 и 2 при открытии открывались в своём размере. Код: vbnet 1. 2. 3. 4.
Если в применяю SWP_NOSIZE то размер сохраняется тот что надо но теряется позиционирование по центру ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2016, 12:09 |
|
Управление формами
|
|||
---|---|---|---|
#18+
GVOVИ ещё как сделать чтобы формы 1 и 2 при открытии открывались в своём размере.Ты же хотел масштабирования? Вот и вычисляй коэффициент сам... GVOVЕсли в применяю SWP_NOSIZE то размер сохраняется тот что надо но теряется позиционирование по центруА это зачем? -O Изменение размеров делаются специально! GVOVС отчётом ещё хуже, потому как скрывается форма а при восстановлении отчёта, пользователь формы не видит, а только после его закрытия. Если форму не скрывать то отчёт всё равно при восстановлении спокойно теряет фокус, хотя он задумывался как диалоговое окно.Зачем тебе форма, если отчёт должен быть диалоговым? Вот и убрали форму, такая реализация диалогового окна. Можно конечно намертво его прибить сверху и оно всегда будет выше всех окон. Вот тебе диалоговое окно... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2016, 15:24 |
|
Управление формами
|
|||
---|---|---|---|
#18+
Масштабирование это я думал на будущее и касается оно только контролов в форме, а вот сами формы должны запускаться в своем размере (особенно форма 1) ... масштабирование буду делать для содержимого формы 2при её разворачивании. Отчёт то висит выше всех окон но теряет фокус при переходе на форму 2. А хочется чтобы он не давал перейти назад на форму 2 пока его не закроют. Может я не правильно выразился в терминах. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2016, 16:09 |
|
Управление формами
|
|||
---|---|---|---|
#18+
ПанургЗачем тебе форма, если отчёт должен быть диалоговым? Вот и убрали форму, такая реализация диалогового окна. Кроме диалогового отчёта есть и диалоговая форма 3 то принцип этих двух диалогов хочется чтобы было одинаковым за разницей того что отчёт запускается на всю рабочую область. Но пользователь ведь может его и восстановить. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2016, 16:24 |
|
Управление формами
|
|||
---|---|---|---|
#18+
Мне хочется добиться вот такого (Программа5). Тут всё работает как и задумывалось и размеры правильные и формы не надо скрывыать и разворачивание и восстановление формы то что надо и отчёт ведёт себя неплохо (как и сейчас работает в рабочем проекте) но... некрасивая минимизация (из за чего и затеял всё это). А если прятать окно аксеса по другому (как в примерах выше) то минимизация начинает работать нормально но формы и отчёт не держат фокуса (или модальности не знаю как правильно сказать) и их надо скрывать или открывать со своими кнопками на панеле задач. Можно ли что-то сделать чтобы всё работало как в примере (Программа5) но ещё и минимизировалось на панель задач как в примерах выше? Или это в принципе не совместимые желания. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2016, 17:12 |
|
Управление формами
|
|||
---|---|---|---|
#18+
Может сделать кнопку которая будет минимизировать всё приложение Access, если так можно? А кнопки минимизации ан формах тогда можно отключить? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2016, 22:17 |
|
Управление формами
|
|||
---|---|---|---|
#18+
GVOV, сегодня попробовал на другой системе и Office (WinXP & Access 2003) - поправил. Предыдущий пример делал под другой системой и Office (Win7 64 & Access 2010 32). Надеюсь крайний пример будет одинаково вести себя в разных системах... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2016, 05:08 |
|
Управление формами
|
|||
---|---|---|---|
#18+
Панург, Спасибо. Как будто всё работает ка как надо но при запуске отчёта через раз повисает аксес так что можно завершить только через диспетчер задач. Может можно решить задачу с отчётом каким другим методом? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2016, 22:39 |
|
Управление формами
|
|||
---|---|---|---|
#18+
GVOV, а ты не запускай отчёт с открытым IDE VBA. И всё. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2016, 03:40 |
|
Управление формами
|
|||
---|---|---|---|
#18+
Панург, А, хорошо. Тогда всё работает! ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2016, 08:26 |
|
Управление формами
|
|||
---|---|---|---|
#18+
Панурга ты не запускай отчёт с открытым IDE VBA. И всё Решение с изменением атрибутов главного окна на невидимый работает хорошо, но, насколько я понимаю, до первой необработанной ошибки. Пользователь остается в конечном итоге с пустым экраном, не имея возможности ни запустить приложение по новой, ни прибить старое приложение без использования диспетчера задач, что может ввести в ступор неопытного пользователя. Поэтому я и не использую этот метод, а прячу главное окно за рабочим, синхронно минимизируя, максимизируя и перемещая/меняя размер вслед за рабочим. Несколько костыльно, но это не приведет к взрыву мозга у пользователя :) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2016, 08:56 |
|
Управление формами
|
|||
---|---|---|---|
#18+
Кстати хотел сказать то же самое. Потому как столкнулся с этим. Режим отладки используется постоянно и будет жутко неудобно. Сам думал с перемещением окнааксеса за рабочим окном чтобы всегда его держать по центру открытой формы. Тогда как будто упрощается запуск диалоговых окон и всего остального. Не подскажете каким кодом можно реализовать перемещение окна при перемещении формы? И как в этом методе с минимизацией на панель задач? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2016, 09:20 |
|
Управление формами
|
|||
---|---|---|---|
#18+
MrShin, ты предлагаешь мне написать базу полностью? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2016, 09:36 |
|
Управление формами
|
|||
---|---|---|---|
#18+
GVOVКстати хотел сказать то же самое. Потому как столкнулся с этим. Режим отладки используется постоянно и будет жутко неудобно.Ты постоянно отлаживаешь отчёты? Проблема только при запущенном отчёте. На время отладки можно и отключить сабклассинг окна, в конце концов. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2016, 09:40 |
|
Управление формами
|
|||
---|---|---|---|
#18+
Панургты предлагаешь мне написать базу полностью? Боже упаси! :) Я просто обозначил потенциальную проблему. Ее наличие не означает, что решение со скрытием окна не подойдет для частных случаев, а уж что использовать - решать автору базы. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2016, 10:07 |
|
Управление формами
|
|||
---|---|---|---|
#18+
Панург, Не часто, но отчетов в базе много и держать в голове отключение и подключение мешает. Буду пробовать что-то попроще. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2016, 20:38 |
|
Управление формами
|
|||
---|---|---|---|
#18+
В принципе база работает без отлаженного механизма скрытия окна. Была задумка сделать всё то же но с минимизацией, но только если это создаст дополнительные удобства для пользователей и не создаст потенциальных проблем. Из процесса поиска решения в этом топике я для себя взял позиционирование форм и задание точного размера при сворачивании-разворачивании вообще без усложнения работы (за что большая благодарность). Но вот добавление свертывания уже порядком усложняет. А вообще нет такого способа чтобы как то просто перехватывать событие минимизации (когда форма падает в левый нижний край экрана и минимизировать все окно аксеса) а при активации этого окна автоматически восстанавливать свернутую форму (хотя она и так наверное восстановится)? То есть проблема только в первом. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2016, 20:47 |
|
Управление формами
|
|||
---|---|---|---|
#18+
Итого сформировался окончательный вариант отвечающий всем условиям удобства и простоты (кроме свёртывания). Если не удастся перехватить событие минимизации как написано выше, то придётся просто отключить кнопки минимизации и лишить пользователей такой возможности. Остальное всё работает просто и удобно как для пользования так и для отладки. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2016, 01:02 |
|
|
start [/forum/topic.php?fid=45&msg=39301532&tid=1609803]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
63ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 181ms |
0 / 0 |