Переключение на Главную Страницу Страницы: 1 [2] 3 4  ОтправитьПечать
Очень популярная тема (более 25 ответов) ActiveX компонент DynamicWrapperX (число прочтений - 23551 )
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: ActiveX компонент DynamicWrapperX
Ответ #15 - 12. Августа 2011 :: 13:34
Печать  
Проблема в том, что твой пример работает на ура, а когда я то тот же код прикручиваю в рабочей базе к рабочему тулбару, нихрена не пашет..
Пока не могу понять, в чем дело и тестовый пример сложно выдернуть из конфы..
Короче попробую еще поковыряться, если что - буду просить твоей помощи   Круглые глаза
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: ActiveX компонент DynamicWrapperX
Ответ #16 - 12. Августа 2011 :: 13:50
Печать  
CaBaT писал(а) 12. Августа 2011 :: 13:34:
Проблема в том, что твой пример работает на ура, а когда я то тот же код прикручиваю в рабочей базе к рабочему тулбару, нихрена не пашет..
Пока не могу понять, в чем дело и тестовый пример сложно выдернуть из конфы..
Короче попробую еще поковыряться, если что - буду просить твоей помощи   Круглые глаза


Найти прогу SPYXX, убедись, что к тому окну у которого ты меняешь процедуру прилетает сообщение WM_ERASEBKGND. Просто посмотри иерархию окон, может не к тому окну цепляешься.
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: ActiveX компонент DynamicWrapperX
Ответ #17 - 12. Августа 2011 :: 14:27
Печать  
Ок, спасибки.
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: ActiveX компонент DynamicWrapperX
Ответ #18 - 16. Августа 2011 :: 05:46
Печать  
В общем суть проблемы - у меня установка цвета срабатывает один раз.

Причина в том, что у меня есть класс "Система.WinAPI", который существует в конфигурации в единичном экземпляре.
В конструкторе класса производится установка модуля для ScriptCtrl один раз, потом в методе "УстановитьЦветФона" просто вызывается метод "ChangeBKG" с параметром.

Если я пересоздаю экземпляр класса, то метод опять срабатывает, но только один раз..

Хендлы проверял с помощью Spy++ - все верно ловит..

Самое смешное, что твой класс при этом нормально работает..
Не могу понять, в чем проблема..
Что то явно простое, но никак не поймать..

Сейчас пока нет времени покопаться, пока отложу на день-два..
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: ActiveX компонент DynamicWrapperX
Ответ #19 - 16. Августа 2011 :: 06:22
Печать  
У тебя должно быть так - один тулбар - один "мой" класс, т.к. в этом классе идет подмена процедуры конкретного окна. Сколько Тулбаров в открытых формах, столько и классов должно быть создано. Посмотри в коде скрипта, скорее всего там переменная hwnd не обнуляется после того, как ты "отвязываешь" свой класс.
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: ActiveX компонент DynamicWrapperX
Ответ #20 - 16. Августа 2011 :: 06:24
Печать  
О, теперь понятно..
Попробую перевесить код в класс "Интерфейс.ПанельКнопок", что бы для каждого экземпляра тулбара был свой экземпляр твоего класса..
Спасибо!  Улыбка
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: ActiveX компонент DynamicWrapperX
Ответ #21 - 16. Августа 2011 :: 06:36
Печать  
CaBaT писал(а) 16. Августа 2011 :: 06:24:
О, теперь понятно..
Попробую перевесить код в класс "Интерфейс.ПанельКнопок", что бы для каждого экземпляра тулбара был свой экземпляр твоего класса..
Спасибо!  Улыбка


Совершенно верно Улыбка
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: ActiveX компонент DynamicWrapperX
Ответ #22 - 16. Августа 2011 :: 11:28
Печать  
Поправил код - все ок  Очень довольный
Как всегда - респект и уважуха!
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: ActiveX компонент DynamicWrapperX
Ответ #23 - 16. Августа 2011 :: 12:14
Печать  
CaBaT писал(а) 16. Августа 2011 :: 11:28:
Поправил код - все ок  Очень довольный
Как всегда - респект и уважуха!


Покажи, как получилось  Подмигивание
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: ActiveX компонент DynamicWrapperX
Ответ #24 - 16. Августа 2011 :: 14:32
Печать  
Шероховатости есть конечно, но в целом вполне?
(также большое спасибо trad-у за его компоненту и подсказки http://www.1cpp.ru/forum/YaBB.pl?num=1177688915/463#463
  

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



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: ActiveX компонент DynamicWrapperX
Ответ #25 - 17. Августа 2011 :: 06:05
Печать  
Ты всё в серый цвет раскрасил?
Кстати, этот подход можно распространить на все окна, у которых есть "подложка".
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: ActiveX компонент DynamicWrapperX
Ответ #26 - 17. Августа 2011 :: 07:13
Печать  
Все красил в один цвет, только разными способами - подложку под тулбар твоим, а фон ячеек в таблице - штатно средствами tabledoc
(кстати - может ты чего посоветуешь: http://www.1cpp.ru/forum/YaBB.pl?num=1177688915/470#470)
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: ActiveX компонент DynamicWrapperX
Ответ #27 - 17. Августа 2011 :: 10:02
Печать  
CaBaT писал(а) 17. Августа 2011 :: 07:13:
Все (кстати - может ты чего посоветуешь: http://www.1cpp.ru/forum/YaBB.pl?num=1177688915/470#470)


Можешь мини пример замутить?
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: ActiveX компонент DynamicWrapperX
Ответ #28 - 17. Августа 2011 :: 10:13
Печать  
chessman писал(а) 17. Августа 2011 :: 10:02:
Можешь мини пример замутить?

Попробую..

Кста - допилил тут твой класс прогресс-бара - добавил настройку цвета полосы прогресса.
Ну точнее, как допилил - просто в твоих комментах в коде нашел установку цвета, переделал в функцию, добавил атрибут "Бар_Цвет"  Смех
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: ActiveX компонент DynamicWrapperX
Ответ #29 - 17. Августа 2011 :: 11:16
Печать  
chessman писал(а) 16. Августа 2011 :: 06:22:
У тебя должно быть так - один тулбар - один "мой" класс, т.к. в этом классе идет подмена процедуры конкретного окна.


слушай, а при уничтожении контрола toolbar-а не надо как то деинициализировать подмену?
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 3 4 
ОтправитьПечать