Делаем “управляемые” и обычные формы неуправляемыми

01.07.12

Разработка - Работа с интерфейсом

По мотивам недавней публикации http://infostart.ru/public/140057/. Доводим идею публикации до логического завершения, т.е. до полной противоположности.

Скачать файлы

Наименование Файл Версия Размер
Hook
.rar 27,32Kb
22
.rar 27,32Kb 22 Скачать

Для получения временного контроля над пользовательским интерфейсом 1С нам необходимо знать текущие координаты указателя мыши, и  дескриптор окна, под указателем.  Получить текущие координаты указателя, можно применив стандартный прием, установив низкоуровневый hook на перемещения мыши.  В определении дескриптора окна под указателем нам поможет функция WindowFromPoint. Теперь с данным окном можно выполнить некоторые манипуляции, изменив его внешний вид и поведение.

 Из всего разнообразия окон 1С выберем следующие классы:

V8FormElementнаиболее распостраненный вид  (текстовые поля, метки, списки, и.т.д);

V8MDILocalFrameглавное окно в 8.1 и 8.2 (MDI интерфейс);

V8TopLevelFrameSDI, V8TopLevelFrameSDIsec – окна верхнего уровня 8.2 (SDI интерфейс).

Чтобы изменить внешний вид окна, воспользуемся парой функций -  GetWindowLong (считывает биты стиля)  и  SetWindowLong (устаналивает биты стиля).  Для получения эффекта «зеркальное отражение» - отображение текста справа налево, нужно всего лишь установить бит стиля WS_EX_LAYOUTRTL. Стереть элемент управления можно, обнулив бит стиля WS_VISIBLE или при помощи функции MoveWindow, установив ширину и высоту окна равными 0. Эффекты «разбегания» и «дрожания» элементов управления, при наведении на них указателя мыши можно реализовать при помощи все той же функции MoveWindow.

 Для окон верхнего уровня эффект «прозрачности» можно получить следующим образом – устанавливаем бит стиля WS_EX_LAYERED, затем вызываем функцию SetLayeredWindowAttributes. Причем, если до вызова этой функции  не был установлен бит WS_EX_TRANSPARENT, c  окном  можно работать в обычном режиме, несмотря на его «прозрачность», в противном  случае указатель мыши будет «проваливаться» на окна лежащие ниже по Z-координате.

 В файле находится приложение, реализующее, описанные эффекты. Для его работы необходим Net Framework 2.0.

 Пример установки hook в среде .Net :

http://www.codeproject.com/Articles/7294/Processing-Global-Mouse-and-Keyboard-Hooks-in-C

 Объявления функций API и примеры:

http://www.pinvoke.net/

См. также

Богатый редактор картинок, хранимых в базе, с возможностью РИСОВАНИЯ. Редактор внешних файлов картинок. Объект, расширяющий возможности работы с картинками из встроенного языка (Три в одном) + Обработка «Стандартизация картинок»

Работа с интерфейсом Рабочее место Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Обработка предназначена для редактирования картинок в режиме «Предприятие», с возможностью РИСОВАТЬ на них. Поддерживается работа как в обычных формах (толстый клиент) так и на управляемых формах (тонкий клиент). Обработка позволяет редактировать как картинки, хранимые в базе, так и графические файлы с диска на файловой системе. Помимо базовых функций (изменение размеров, преобразование формата, обрезание картинки, повороты и т.п.) – редактор имеет богатый набор инструментов для рисования. Доступна функция вставки изображения из буфера обмена. Также обработка может быть использована из встроенного языка как объект для редактирования картинок. Объект может быть использован: на стороне клиента, на стороне сервера, из внешнего соединения. Данная обработка будет особенно полезна тем, кто вносит картинки в базу (изображения номенклатуры, фотографии физических лиц и т.п.). Функционал реализуется с использованием JavaScript и бесплатного ПО ImageMagick (без использования внешних компонент).

6000 руб.

16.01.2015    61800    43    59    

80

[Расширения] Динамическое управление видимостью и доступностью элементов форм (УФ) (8.3.6+)

Работа с интерфейсом Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Механизм «Динамическое управление доступом к элементам форм объектов 1С8» предназначен для обеспечения возможности оперативного управления видимостью и доступностью элементов форм документов и справочников продуктов фирмы «1С» «1С:Предприятие 8». Решение универсальное, встраивается в любую конфигурацию с минимальными доработками, что позволяет без проблем обновлять типовые решения.

5000 руб.

14.01.2016    54407    16    21    

42

Управление дашбордами

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

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

2400 руб.

29.06.2020    16700    21    4    

35

Новогоднее оформление для 1С

Работа с интерфейсом Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 Бесплатно (free)

Добавьте новогоднего настроения! Расширение создает декорацию в виде гирлянды на некоторых формах объектов.

27.12.2023    10743    750    elcoan    45    

106

Конструктор HTML, CSS и javascript

Инструментарий разработчика Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Подходит для создания web-страниц для замены управляемых форм 1С, красивых отчетов, интерфейса мобильного приложения на платформе 1С и для простых страниц веб-сайтов.

2 стартмани

10.04.2023    9623    151    acces969    31    

118

Модель состояния для MVC

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

"MVC плохо применима в 1С" - познакомьтесь с моделью состояния и, возможно, ваше мнение поменяется! Представленное решение является эволюционным развитием идеи реализации MVC для 1С. В новой версии добавлены DSL для описания модели состояния, а также параметризация свойств параметров и элементов формы.

1 стартмани

05.07.2022    3669    kalyaka    2    

27

Табло очереди заказов на экран телевизора

WEB-интеграция Работа с интерфейсом Платформа 1С v8.3 1С:Розница 2 Платные (руб)

Связка из веб-приложения и расширения для 1С: Розница 2.3.

3600 руб.

29.04.2022    12085    1    5    

10
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. DoctorRoza 01.07.12 13:14 Сейчас в теме
2. slimper 201 01.07.12 14:14 Сейчас в теме
3. khaoos 239 02.07.12 05:01 Сейчас в теме
Не думаю, что когда-нибудь пригодятся такие фокусы, но автор молодец!
4. slimper 201 02.07.12 06:57 Сейчас в теме
(3) khaoos, эти фокусы всего лишь небольшая компенсация для себя, за то, что приходится иметь дело с 1С.
5. Dethmond 03.07.12 20:15 Сейчас в теме
Спасибо, как раз то, что нужно.
6. dimetra2008 65 04.07.12 05:45 Сейчас в теме
Спрашивается, а нафига все это?
7. slimper 201 04.07.12 06:19 Сейчас в теме
(6) dimetra2008, A вы делаете только то, за что можно поучить деньги?
8. dimetra2008 65 04.07.12 06:26 Сейчас в теме
(7)
Иногда бесплатно делаю.
Мне интересен практическое применение этого добра.
9. slimper 201 04.07.12 06:46 Сейчас в теме
(8) dimetra2008, поиск подходов по динамическому изменению пользовательского интерфейса 1С.
10. dimetra2008 65 04.07.12 07:47 Сейчас в теме
(9)
Я думаю что 1С тож над этим работает... ;)
11. Stim213 415 04.07.12 11:22 Сейчас в теме
хорошее решение для обфускации пользовательского интерфейса =)
ilov_boris; +1 Ответить
12. slimper 201 04.07.12 12:12 Сейчас в теме
(11) Stim213, это не решение, a побочный продукт экспериментов с UI.
13. ms200999 05.07.12 08:28 Сейчас в теме
Забавно. Наверное, практического применения не имеет, но плюса публикация однозначно заслуживает.
14. ErrorEd88 53 09.07.12 16:55 Сейчас в теме
Буду увольняться, скачаю)
ilov_boris; +1 Ответить
Оставьте свое сообщение