Опрос
Опрос Тема Опроса: Нужен ли функционал создания тулбаров в компоненте



« Последняя модификация: mvgfirst : 20. Декабря 2007 :: 18:33 »
Переключение на Главную Страницу Страницы: 1 ... 8 9 [10] 11 12 ... 15 ОтправитьПечать
Очень популярная тема (более 25 ответов) [RWidjets] Динамическое меню программы (число прочтений - 110177 )
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: [RWidjets] Динамическое меню программы
Ответ #135 - 10. Февраля 2010 :: 15:25
Печать  
Задача взлетела, в архиве пример и вспомогательный класс WinAPI.
Требования DynamicWrapperX, 1С++.
При желании все это можно аккуратно оформить в класс.
  

ToolTips.zip ( 7 KB | Загрузки )
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: [RWidjets] Динамическое меню программы
Ответ #136 - 10. Февраля 2010 :: 15:50
Печать  
ай красавец! пошел разбираться, как работает Улыбка
спасибо!
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: [RWidjets] Динамическое меню программы
Ответ #137 - 10. Февраля 2010 :: 16:04
Печать  
не будет слишком нагло попросить пояснить ну уровне идеи каким образом это работает?
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: [RWidjets] Динамическое меню программы
Ответ #138 - 10. Февраля 2010 :: 16:04
Печать  
CaBaT писал(а) 10. Февраля 2010 :: 15:50:
ай красавец! пошел разбираться, как работает Улыбка
спасибо!

Круглые глаза
Я только хочу предупредить о глюке Wrapper'а - метод  RegisterCallback работатет в 1С-ке только 8 - раз, грубо говоря, если обработку открыть, запустить и закрыть 8 раз, на 9й 1С ляжет. В принципе если запустить это 1 раз при НачалеРаботы, то проблем не будет.

В принципе можно вообще избавиться от этого метода, будет только чутка сложнее.
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: [RWidjets] Динамическое меню программы
Ответ #139 - 11. Февраля 2010 :: 07:41
Печать  
Насколько смог понять - принцип работы основан на подмене стандартного 1С-го обработчика события вывода подсказки тулбара своим обработчиком?
Насколько безопасен данный метод для стабильности системы при однократном вызове (у меня панель на текущий момент создается только один раз при старте системы)?
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: [RWidjets] Динамическое меню программы
Ответ #140 - 11. Февраля 2010 :: 08:20
Печать  
По сути идет подмена процедуры главного 1С-го окна, в данном случае отлавливается одно единственное сообщение (сначала оно обрабатывается самой 1С-й, а потом прилетает к нам, так что можно что-нибудь дописывать к стандартным подсказкам), которому подсовывается текст подсказки.
Я сейчас смотрю, как проще распознать от какого тулбара пришло сообщение, а то в примере подсказки для стандартных тулбаров неправильно работают. Самое простое решение, проверить, есть ли текст в подсказке (его сначала же 1С генерит), если нет, то это наш тулбар - тогда из массива достать текст.
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: [RWidjets] Динамическое меню программы
Ответ #141 - 11. Февраля 2010 :: 08:26
Печать  
На счет стабильности - проблем быть не должно.
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: [RWidjets] Динамическое меню программы
Ответ #142 - 11. Февраля 2010 :: 08:33
Печать  
Ок, примерно так и понял.
Действительно надо попробовать анализировать текст подсказки..
Интересно, а нет какого-нибудь идентификатора панели, который можно было бы фильтровать?
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: [RWidjets] Динамическое меню программы
Ответ #143 - 11. Февраля 2010 :: 08:44
Печать  
А с какой целью меняется стиль окна (как я понимаю это как раз таки панель кнопок)?
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: [RWidjets] Динамическое меню программы
Ответ #144 - 11. Февраля 2010 :: 08:50
Печать  
CaBaT писал(а) 11. Февраля 2010 :: 08:33:
Ок, примерно так и понял.
Действительно надо попробовать анализировать текст подсказки..
Интересно, а нет какого-нибудь идентификатора панели, который можно было бы фильтровать?


Поправил, посмотри, стандартные должны работать нормально.

Можно, я посмотрю, как проще это сделать.
  

ToolTips.ert ( 8 KB | Загрузки )
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: [RWidjets] Динамическое меню программы
Ответ #145 - 11. Февраля 2010 :: 08:53
Печать  
CaBaT писал(а) 11. Февраля 2010 :: 08:44:
А с какой целью меняется стиль окна (как я понимаю это как раз таки панель кнопок)?


Я добавляю стиль, который по-умолчанию создает и привязывает ToolTip для окна, иначе пришлось бы это делать руками - в данном случае так проще и быстрее.
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: [RWidjets] Динамическое меню программы
Ответ #146 - 11. Февраля 2010 :: 08:57
Печать  
Кстати, обнаружил станную вещь, RegisterCallback работает строго по документации...ничего не понимаю, раньше каждый 9й раз 1C-ка вылетала.
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: [RWidjets] Динамическое меню программы
Ответ #147 - 11. Февраля 2010 :: 09:00
Печать  
Проверил - все работает, спасибо!
Попробую теперь это все прикрутить к своему классу панели инструментов.
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: [RWidjets] Динамическое меню программы
Ответ #148 - 11. Февраля 2010 :: 09:03
Печать  
ну мне достаточно (по крайней мере пока мне не нужно менять панели инструментов в течении одного сеанса работы пользователя, а такие мысли вообще есть) и того, чтобы один раз все нормально отрабатывало Улыбка
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: [RWidjets] Динамическое меню программы
Ответ #149 - 11. Февраля 2010 :: 09:07
Печать  
Для полноты картины еще не хватает вывода подсказки в строку статуса 1С, и тогда решение можно будет оформить и выложить где-нибудь рядом с компонентой RWidjets
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 8 9 [10] 11 12 ... 15
ОтправитьПечать