Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Не получается вывести форму на передний план. (число прочтений - 3781 )
ReLock
Full Member
***
Отсутствует



Сообщений: 155
Местоположение: За компом
Зарегистрирован: 01. Февраля 2007
Пол: Мужской
Не получается вывести форму на передний план.
14. Декабря 2010 :: 09:41
Печать  
Добрый день всем!

Есть обработка с закладками. Обработка выводит список документов. При обработке ячейки таблицы получаю расшифровку типа "Документ" и вызываю ОткрытьФорму. Обработка "моргает" и открытый документ переходит на "задний план" обработки. Пробовал сделать так:
Код
Выбрать все
ФормаДок = СоздатьОбъект("Окна");
ОткрытьФорму(ВыбДок,Конт);
ФормаДок.НаПереднийПлан(Конт.Форма);
 


Не работает.

При открытии документа в модальном режиме последний не разворачивается на весь экран, что вызывает сильные неудобства при просмотре и редактировании.

Как решить сабж?
  
Наверх
 
IP записан
 
Dmitry The Wing
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 839
Местоположение: Где-то в Сибири
Зарегистрирован: 18. Августа 2009
Пол: Мужской
Re: Не получается вывести форму на передний план.
Ответ #1 - 14. Декабря 2010 :: 09:56
Печать  
Варианты решения:
1. Вместо штатных закладок пользовать офисные MSComctlLib.TabStrip.2
2. Пользовать виндовую функцию ShowWindow или SetForegroundWindow для регулирования уровня видимости окна. Правда здесь придется сначала обнаружить базовое MDI-окно и перебрать все подчиненные MDI-детки, найдя нужное по имени.
Я пользовал оба варианта по разным причинам.
  
Наверх
 
IP записан
 
ReLock
Full Member
***
Отсутствует



Сообщений: 155
Местоположение: За компом
Зарегистрирован: 01. Февраля 2007
Пол: Мужской
Re: Не получается вывести форму на передний план.
Ответ #2 - 14. Декабря 2010 :: 10:20
Печать  
А можно пример по первому пункту?
  
Наверх
 
IP записан
 
ReLock
Full Member
***
Отсутствует



Сообщений: 155
Местоположение: За компом
Зарегистрирован: 01. Февраля 2007
Пол: Мужской
Re: Не получается вывести форму на передний план.
Ответ #3 - 14. Декабря 2010 :: 14:44
Печать  
Пока нарыл только:
Код
Выбрать все
Попытка
  АктивИск_ПанельЗакладок = СоздатьОбъект("АктивИкс");
  АктивИск_ПанельЗакладок.УстановитьАтрибут(Форма,"ПанельЗакладок");
  АктивИск_ПанельЗакладок.СоздатьЭУ("MSComctlLib.TabStrip.2");
  ОбъектПанельЗакладок = АктивИск_ПанельЗакладок.Объект;
Исключение
  Сообщить("Ошибка: "+ОписаниеОшибки(),"!");
КонецПопытки;
 


А вот что дальше? У объекта есть свойство Tabs.
Нашел пример:
Код
Выбрать все
rollout testTabs "Test Tabs" (
activeXcontrol ax_tabs "MSComctlLib.TabStrip.2" height:20
subRollout theSubRollout height:180
on ax_tabs Click do
(
 case ax_tabs.SelectedItem.index of
 (
  1: (
   removeSubRollout theSubRollout secondRollout
   addSubRollout theSubRollout firstRollout
  )
  2: (
   removeSubRollout theSubRollout firstRollout
   addSubRollout theSubRollout secondRollout
  )
 )
)
on testTabs open do
(
ax_tabs.tabs[1].caption = "First Tab"
ax_tabs.tabs.add pvCaption:"Second Tab"
) 


но метод Add у меня не работает.  Печаль
  
Наверх
 
IP записан
 
Dmitry The Wing
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 839
Местоположение: Где-то в Сибири
Зарегистрирован: 18. Августа 2009
Пол: Мужской
Re: Не получается вывести форму на передний план.
Ответ #4 - 15. Декабря 2010 :: 02:12
Печать  
ReLock писал(а) 14. Декабря 2010 :: 10:20:
А можно пример по первому пункту?

Код
Выбрать все
АктивИкс = СоздатьОбъект("АктивИкс");
АктивИкс .УстановитьАтрибут(Форма, "фЗакладки");
АктивИкс.СоздатьЭУ("MSComctlLib.TabStrip.2");
Закладки = АктивИкс.Объект;
Закладка = Закладки.Tabs.Add(Индекс,Ключ,Заголовок,Картинка);
Закладка.ToolTipText=Подсказка;
 


Также через MSComctlLib.ImageListCtrl можно настроить отображение иконок.
Через Закладки.SelectedItem регулируется или определяется активная закладка, а событие выбора - фЗакладки_Click().
  
Наверх
 
IP записан
 
ReLock
Full Member
***
Отсутствует



Сообщений: 155
Местоположение: За компом
Зарегистрирован: 01. Февраля 2007
Пол: Мужской
Re: Не получается вывести форму на передний план.
Ответ #5 - 15. Декабря 2010 :: 08:44
Печать  
Спасибо большое за пример. Сейчас попробую.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать