Привет Всем!
Посмотрел оба варианта класса, мне понравились оба, но, как мне субъективно показалось, пример Игоря (ввиде процедуры Honest::FastMess)
Игорь Столяров писал(а): 24 Август 2026, 11:00
сделал процедуру для показа быстрого сообщения в любом месте программы
более прост в использовании (большего и не надо).
Вячеслав ранее в своем сообщении привел пример из 1С
finsoftrz писал(а): 07 Декабрь 2025, 11:52
В 1С8 хорошо сделана работа с ошибками при заполнении формы. Как я понимаю, с помощью данного класса можно изобразить подобное (сноски оформляются в виде картинок фона).
...
Как мне кажется, если чуть развить эту "PopUP Hint"-тему, то мы можем получить нечто подобное.
Я, (к сожалению не помню автора) более лет 20 назад увидел простой шаблон выделения рамкой активного контрола, который периодически использую:
Код: Выделить всё
#!----------------------------------------------------------------
#TEMPLATE (ActiveBox, '2002')
#! =============================================
#CONTROL (ActiveBox, 'Выделение активного control')
#! =============================================
#DISPLAY ('')
#DISPLAY ('Выделяет активный control прямоугольником.')
#DISPLAY ('')
CONTROLS
BOX,AT(3,3,5,5),USE(?ActiveBox),ROUND,LINEWIDTH(1),HIDE
END
#!
#AT (%BeforeAccept)
?ActiveBox{prop:HIDE} = ''
?ActiveBox{prop:ROUND} = 1
! ?ActiveBox{prop:Color} = COLOR:InActiveCaption
?ActiveBox{prop:LINEWIDTH} = 2
#ENDAT
#!
#! --- 'CASE EVENT() structure, before generated code'
#AT (%EventCaseBeforeGenerated)
of event:Selected
contr# = selected()
?ActiveBox{prop:XPos} = contr#{prop:XPos}-2
?ActiveBox{prop:YPos} = contr#{prop:YPos}-2
?ActiveBox{prop:Width} = contr#{prop:Width}+4
?ActiveBox{prop:Height}= contr#{prop:Height}+4
#ENDAT
в этом шаблоне присутствуют координаты выделенного контрола. Т.о. если применять этот шаблон (или его принцип получения координат) в экранной форме и при возникновении некой ошибки со стороны пользоавтеля, можно делать SELECT(?control_Name), и далее (если чуть модернизировать процедуру Honest::FastMess) передавать в нее координаты для применения в "
SetPosition(FastWin...."
В результате (чтобы было понятнее, я чуть подправил скрин приведенный Вячеславом) мы можем получить что-то подобное:

- picture_01.png (9.91 КБ) 67 просмотров
Хотелось бы узнать мнение - расширение, в процедуре, Honest::FastMess принимаемых параметров для позиционирования Hint-окна - это оптимальный вариант или же есть более рациональное решение?
Спасибо