Максимизация любой формы



Для одного из проекта, потребовалось управлять окнами разных открытых программ (не только 1С).
В частности, в нужные моменты времени должны были открываться на весь экран окна запущенных программ. При этом, данные окна должны были скрывать все остальные и занимать все свободное место.

В приложении обработка на управляемых формах с библиотекой.
На вход подаете часть названия нужного окна — в результате это окно становится активным и делается на весь экран.

Для начала работы, необходимо библиотеку зарегистрировать. Нажимаете кнопку «Register dll».

если не хватает прав, то выполнить регистрацию вручную, стандартным методом:

1. Сохранить dll в С:windowssystem32

2. Пуск — Поиск — «Командная строка»

3. Правой кнопкой — выбрать — запуск от имени администратора

4. regsvr32 usLibrary.dll

 

15 Comments

  1. cool.vlad4

    уже который раз вижу совет

    сохранить dll в С:windowssystem32

    . мне кажется, или это моветон туда копировать всякие непонятные dll. Нормальному написанному com серверу должно быть без разницы по идее, где находиться, зачем его в системную папку копировать?

    Reply
  2. verter.me

    (1) cool.vlad4, Настаивать не буду. В этом вопросе я не эксперт. Поэтому в форму и выведена возможность указать «правильный» каталог. По умолчанию установлено «С:windowssystem32»

    Reply
  3. TitanLuchs

    Вот бы еще dll-ку кто-нибудь написал, которая позволяет менять размеры окон 1С и перемещать их по экрану…

    Reply
  4. verter.me

    (3) TitanLuchs, А для каких ситуаций необходима данная библиотека?

    Reply
  5. TitanLuchs

    Хотел как-то реализовать открытие формы подбора рядом с основной формой. При нажатии кнопки «Подбор» основная форма чуть сжимается по горизонтали, форма подбора открывается и размещается рядом.

    Reply
  6. Venzor

    А можно запретить сворачивать с поможью этой компоненту управляемую форму?

    Reply
  7. verter.me

    (6) leg18, С помощью этой — нет. У нее одна функция — на весь экран указанное окно. Кидайте пожелания — попробуем доработать.

    пока есть следующие пожелания:

    1. Установка размеров нужного окна

    2. Позиционирование окна в конкретном месте

    3. Позиционирование окна формы на нужном мониторе (в случае если используется несколько мониторов)

    4. Запрет на сворачивание формы

    Reply
  8. Venzor

    Запрет на сворачивание и минимизирование формы (для информационных киосков). Было бы очень полезно.

    Reply
  9. verter.me

    (8) leg18, Если не секрет, что разрабатываете для информационных киосков? Пожелание записал:

    5. Запрет на минимизирование формы

    Reply
  10. Venzor

    Для школ — запись к директору, информирование родителей, для больниц -рассписание. Мелочевка…

    Reply
  11. Abadonna

    (3)

    Вот бы еще dll-ку кто-нибудь написал

    Сто лет уж лежит, которая и максимизировать и двигать и т.д. и т.п. умеет.

    И никаких regsvr, на которую у многих одноэснегов вообще прав нет.

    Reply
  12. verter.me

    (11) Abadonna, Забыли ссылочку к заметке приложить. Где скачать-то?

    Reply
  13. Abadonna

    (12) А в моем профиле слабо посмотреть? 😉

    http://infostart.ru/public/125913/

    По окнам, в частности:

    ГлавноеОкно() – возвращает хендл главного окна, аналогичен свойству ИдентификаторГлавногоОкна.

    ИдентификаторАктивнойФормы():число — возвращает хендл активной формы 1С (отчета, обработки, справочника..).

    НайтиОкноПоИмениКласса(ИмяКлассаОкна:строка):число – возвращает хендл верхнего в z-ордере окна с указанным классом

    НайтиОкноПоЗаголовку(ЗаголовокОкна:строка):число – возвращает хендл верхнего в z-ордере окна с указанным заголовком

    ОкноСуществует(Хендл:число):булево, возвращает Истина, если окно с указанным хендлом существует

    ПеречислитьОткрытыеФормы(): многострочная строка – перечислить открытые формы текущего экземляра 1С. Каждая из строк содержит хендл окна.

    РежимПоказаОкна(ХендлОкна, Режим: число) – устанавливает режим показа окна с указанным хенлом.

    Режимы:

    0 / SW_HIDE / — скрыть окно

    1 / SW_SHOW / — показать окно

    2 / SW_MAXIMIZE / — максимизировать

    3 / SW_MINIMIZE / — минимизировать

    4 /SW_RESTORE/ — показать в родных размерах

    ПоверхВсехОкон(Хендл:число) – сделать окно с указанным хендлом всегда поверх всех окон.

    Примечание: не сработает для форм толстого клиента (MDI-формы)

    УстановитьПозициюОкна(Хендл,Лево,Верх,Ширина,Высота:число) – установить позицию и размеры окна с указанным хендлом. Если Ширина и Высота равны нулю, то изменение размеров не производится, только перепозиционирование.

    Reply
  14. TitanLuchs

    В веб-клиенте работает?

    Reply
  15. verter.me

    (13) Abadonna, Написано явно не для людей. Очень сложно воспринимается текст. Чтоб найти Вашу обработку надо было бы выпить не один литр пива.

    А насчет посмотреть профиль — лениво как-то )) Хочется на блюдечке. и чтоб понятненько.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *