Тема: Нужен совет по применению MODELESS FORM (OpenDCL)

Добрый день.
В ODCL я новичок и использую для построения диалогов OpenDCL, принцип один и тот же, что и в ObjectDCL.
Вопрос следующий: загружаем диалог, построенный на основе MODELESS FORM (окно постоянно висит на протяжении работы программы), при необходимости "кликаем" на нужные кнопки, всё нормально, но есть неприятность - после очередного "клика", когда происходит указанное событие, нужно дополнительно "кликать" в поле документа ACAD, чтобы
он стал активным и можно было дальше что-то там делать, так вот КАК сделать, стобы после "клика" на кнопку запрограммированое событие произошло и ACAD активизировался автоматически? Возможно ли это в принципе? Если да, то будьте любезны, коллеги, направьте мои мысли в нужном направлении.
Заранее благодарен всем отклткнувшимся.

Re: Нужен совет по применению MODELESS FORM (OpenDCL)

> Kosarev
Попробуй в реактор обработки элемента диалога добавить (dcl_SetCmdBarFocus). Куда, не знаю.
И было бы удобнее обсуждать что-либо на конкретном примере (ИМХО).

Re: Нужен совет по применению MODELESS FORM (OpenDCL)

Спасибо за отклик.
Даже не знаю как описать здесь пример...
Ну как-то так:
Есть окно, которое представляет собой MODELESS FORM, на нём (условно) установлены 3 кнопки TextBatton. Они предполагаются для использования, допустим, при работе функций, где в процессе диалога необходимо вводить числовые значения (или строчные). Рисуем мы, к примеру, круги - на запрос программы пользователь вводит точку центра первого круга, тут загружается наш диалог, где при нажатии на нужную кнопку возвращается числовое значение диаметра, получаем изображение 1-го круга, двигаем мышь в поле рисунка, ACAD автоматически активизируется и программа запрашивает указание следующей точки...
Пример тупой, конечно, но пусть будет для разъяснения процесса использования MODELESS FORM...
В OpenDCL для TextBatton предусмотрены следующие методы:
Clicked
Indicates that the user has clicked the left mouse button on the control.
SetFocus
This method will force the indicated control to take focus.
EventInvoke
A setting of 0 will allow the control to keep it's focus. A setting of 1 will allow the (Command ...) Lisp funcion to be used, but will also shift the focus to the Command Line (Defaulted for the Modeless and Dockable forms).  1 - Allow (Command...) will NOT work in a Config Tab Dialog.
Enabled
When True the control is usable by the user, when set to false the control is grayed out and unusable.
ForceUpdateNow
This method is used to force a control to update itself instead of waiting for any major processes to be completed.
DragnDropAllowBegin
If True, the user is allowed to drag and drop from this control.
DragnDropAllowDrop
If True, the user is allowed to drag and drop onto this control.
DragnDropBegin
Indicates the user has just begun a drag and drop selection from this control.
DragnDropFromControl
Indicates the user has just dragged and dropped from another control to this control.
DragnDropFromOther
Indicates the user has just dragged and dropped a selection from the AutoCAD Drawing to this control.
DragnDropToAutoCAD
Indicates the user has just dragged and dropped on to the AutoCAD Drawing from this control.
В коде я использовал только Clicked:

(defun c:Primer_Circle_TextButton1_OnClicke()
  "20"
)
(defun c:Primer_Circle_TextButton2_OnClicke()
  "30"
)
(defun c:Primer_Circle_TextButton3_OnClicke()
  "40"
)

Что ещё куда прикрутить - тёмный лес...
Может для такой задачи вообще TextBatton не годится? Есть ещё TextBоx...
Жду совета.

Re: Нужен совет по применению MODELESS FORM (OpenDCL)

Вот вспомнил - эффект должен быть примерно такой, как при использовании SCREENMENU в ACAD.

Re: Нужен совет по применению MODELESS FORM (OpenDCL)

После тяжёлых родовых мук помогло
(Odcl_SetCmdBarFocus)
(для OpenDCL 4)
Спасибо отдельное Юрию за подсказку
(dcl_SetCmdBarFocus),
хоть ясно было куда копать.
Перерыл весь HELP, пока нашёл нужное...
Вопрос снят.