В АИ вшито много параметров, которые не доступны пользователям, через средства настройки и адаптации. Много лет назад я узнал, то такие "вшитые" параметры можно менять прямо в формах АИ, по средствам интерфейса Handle. Например так я для себя адаптировал, через прямой ввод параметров в форму, критерии операции Разрыв:
Public Sub My_Break()
Call execute_command("DrawingBrokenViewCmd") ' 22576
Dim windowhandle As LongPtr
Select Case ThisApplication.Locale
Case Is = 1033, 2057
windowhandle = FindWindow("#32770", "Break")
Case Is = 1049
windowhandle = FindWindow("#32770", "Разрыв") ' "Ðàçðûâ" - проблема копирования текста **
Case Else
End Select
Dim retval As LongPtr ' return value
retval = EnumChildWindows(windowhandle, AddressOf EnumChildProc_Break, 0)
End Sub
Private Function EnumChildProc_Break(ByVal hwnd As Long, ByVal lParam As Long) As Long
Dim CtrlID As Integer
CtrlID = GetDlgCtrlID(hwnd)
If CtrlID = "16331" Then
Call ShowWindow(hwnd, SW_SHOWNORMAL)
Call SendMessage(hwnd, WM_SETTEXT, 0, ByVal "1 mm")
End If
If CtrlID = "16548" Then
Call ShowWindow(hwnd, SW_SHOWNORMAL)
Call SendMessage(hwnd, WM_SETTEXT, 0, ByVal "2")
End If
EnumChildProc_Break = 1 ' return value of 1 means continue enumeration
End Function
Private Function EnumChildProc(ByVal hwnd As Long, ByVal lParam As Long) As Long
Dim CtrlID As Integer
CtrlID = GetDlgCtrlID(hwnd)
If CtrlID = "12111" Then
Call ShowWindow(hwnd, SW_SHOWNORMAL)
Call SendMessage(hwnd, WM_SETTEXT, 0, ByVal "9 mm")
End If
EnumChildProc = 1 ' return value of 1 means continue enumeration
End Function
Уж даже сейчас и не помню, как вычислял эти коды...
У меня получилось скорректировать цифровые параметры:
Но вот тогда я так и не нашел методов для управления ползунками, по средствам Handle. Может кто в курсе и что подскажет сейчас?
** P.S. Еще один вопрос, заслуживающий, наверное, отдельной темы! Не единожды сталкиваюсь с тем, что при при прямом копировании текста из редактора VBA шрифт кириллицы превращается в кракозяблики!?
Есть ли какое-то глобальное средство решение этой проблемы?