2015-03-04 8 views
1

У меня есть форма, которая имеет 2 флажков, один из них Ole управления: enter image description hereформа с управлением OLE не может получить фокус правильно

Теперь, если я буду называть их в два раза, будет 2 экземпляра форма, проблема:

  • Говорит фокус теперь на форме 1, и я нажимаю на контроле Ole (галочка), я тогда не могу нажать на форму 2, то есть форма 2 не может получить фокус даже я попробовал щелкнуть много раз на форме
  • Теперь, если я wa нт, чтобы получить фокус другой форме, я должен нажать на строку заголовка или ole control формы
  • Это не произойдет, если я не кликайте на Ole Control формы
  • Если я . установить form.Desktop = .f, все хорошо, но мне нужно desktop свойство быть истинным

enter image description here

EDIT: Вот OLE управления: enter image description here

Это очень просто воспроизвести ошибку:

  • Создать пустую форму, установите form.Desktop = .t., это имя formOLE
  • вставить флажок OLE, как на картинке выше
  • вставить обычный лис флажок
  • Вызвать форму дважды do form formOLE
+1

Вы использовали Event Tracker, чтобы узнать, какие события стреляют, чтобы помочь вам понять, где это происходит? –

+0

@ TamarE.Granor Спасибо, я посмотрю на него – NeedAnswers

+0

@ TamarE.Granor и извините за поздний ответ! – NeedAnswers

ответ

1

OCX на формах foxpro это всегда должно быть последним средством защиты. Вы не единственный, кто не может получить доступ к элементам управления foxpro после того, как элемент управления OCX получил фокус. Вот некоторые решения, которые я сделал на протяжении своих проектов:

  • Позвоните в очень маленькую форму, чтобы скорректировать фокус фокуса, форма, которая активирует событие, есть thisform.relase. Это вызывается после использования OCX. распространенная проблема заключается в невозможности редактировать текстовое поле после фокуса OCX.
  • видимые свойства использования OCX в

Я рекомендую использовать OCX модальных форм, если нет, то формы могут быть недоступны.

+0

Я думаю, что это ошибка, которая никогда не будет исправлена ​​MS. В любом случае спасибо за решения, я проверю их – NeedAnswers