Переключение на Главную Страницу Страницы: [1] 2 3  ОтправитьПечать
Очень популярная тема (более 25 ответов) Кто делал "Дерево" на форме(наприм. документа)? (число прочтений - 16695 )
villy
Senior Member
****
Отсутствует



Сообщений: 287
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Кто делал "Дерево" на форме(наприм. документа)?
30. Июня 2006 :: 09:36
Печать  
хотелось бы узнать возможно ли это? если да, то как?
  
Наверх
IP записан
 
jbond
Full Member
***
Отсутствует


1С++ Programmer

Сообщений: 140
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Кто делал "Дерево" на форме(наприм. документа)
Ответ #1 - 30. Июня 2006 :: 09:56
Печать  
Дерево чего?
Можно создавать 2 вида деревьев:
1) FormEx
Методы (для работы с объектом "Дерево+Таблица")

ПерехватитьТаблицуЗначений / WrapValueTable
ОбновитьДерево / UpdateTree
ТекущаяСтрокаДерева / CurrentTreeItem
ТекущаяКолонкаДерева / CurrentTreeColumn
ЗначениеИзДерева / ValueFromTree
ЗначениеВДерево / ValueToTree
РазвернутьУзел / ExpandNode
СвернутьУзел / CollapseNode
ЭтоГруппа / IsGroupNode
УстановитьТекущийУзел / SetCurrentNode
ИдентификаторКолонкиДерева / TreeColumnName
ПолучитьНомерКолонкиТаблицыЗначений / GetValueTableColumnNum
ОпцииДерева / TreeOptions

2) ActiveX ЭУ TreeCtrl
  
Наверх
 
IP записан
 
villy
Senior Member
****
Отсутствует



Сообщений: 287
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Кто делал "Дерево" на форме(наприм. документа)
Ответ #2 - 30. Июня 2006 :: 10:20
Печать  
а нет ли случаем примеров для работы с этими "зверями" Улыбка
  
Наверх
IP записан
 
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Кто делал "Дерево" на форме(наприм. документа)
Ответ #3 - 30. Июня 2006 :: 10:26
Печать  
  

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
villy
Senior Member
****
Отсутствует



Сообщений: 287
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Кто делал "Дерево" на форме(наприм. документа)
Ответ #4 - 30. Июня 2006 :: 10:37
Печать  
steban писал(а) 30. Июня 2006 :: 10:26:

прилепил класс ПримерДерево. запустил ТестКОПДерево:
АтрФормы.СоздатьЭлементУправления(Д);
{D:\ТЕСТКОПДЕРЕВО.ERT(12)}: Не удалось определить класс ЭУ среди родителей класса 'ПримерДерево'.
что я сделал не так?
  
Наверх
IP записан
 
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Кто делал "Дерево" на форме(наприм. документа)
Ответ #5 - 30. Июня 2006 :: 10:48
Печать  
Код
Выбрать все
класс ПримерДерево = ПримерДерево.ert : АктивИкс
{
}; 

Внимательно читаем зелененькие буковки в ПримерДерево.ert
  

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
villy
Senior Member
****
Отсутствует



Сообщений: 287
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Кто делал "Дерево" на форме(наприм. документа)
Ответ #6 - 30. Июня 2006 :: 11:04
Печать  
steban писал(а) 30. Июня 2006 :: 10:48:
Код
Выбрать все
класс ПримерДерево = ПримерДерево.ert : АктивИкс
{
}; 

Внимательно читаем зелененькие буковки в ПримерДерево.ert

согласен Улыбка проглядел Улыбка
я так понял избежать использования классов не получится(связано с РБД), т.к. нужно откудато знать методы АктивИкс, а иначе чем через подставной класс не получится?
  
Наверх
IP записан
 
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Кто делал "Дерево" на форме(наприм. документа)
Ответ #7 - 30. Июня 2006 :: 11:13
Печать  
villy писал(а) 30. Июня 2006 :: 11:04:
я так понял избежать использования классов не получится
Получится. Только обработчики событий должны находиться в модуле формы, на которой расположен контрол. И называться должны типа: <ИдентификаторЭлементаДиалога>_<Событие>.
villy писал(а) 30. Июня 2006 :: 11:04:
(связано с РБД)
Ужас
Никак не связано.

И не лишним будет почитать доку: http://www.1cpp.ru/docum/html/ActiveX.html
  

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
villy
Senior Member
****
Отсутствует



Сообщений: 287
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Кто делал "Дерево" на форме(наприм. документа)
Ответ #8 - 30. Июня 2006 :: 11:55
Печать  
а можно ли использовать картинки из библиотеки картинок, а не из файлов?
  
Наверх
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Кто делал "Дерево" на форме(наприм. документа)
Ответ #9 - 30. Июня 2006 :: 11:59
Печать  
Нет, да и зачем. В активиксах можно использовать нормальные иконки, без ограничения по размеру.
  
Наверх
 
IP записан
 
villy
Senior Member
****
Отсутствует



Сообщений: 287
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Кто делал "Дерево" на форме(наприм. документа)
Ответ #10 - 30. Июня 2006 :: 12:09
Печать  
Arta писал(а) 30. Июня 2006 :: 11:59:
Нет, да и зачем. В активиксах можно использовать нормальные иконки, без ограничения по размеру.

Жаль, удобнее когда все объекты находятся в одном файле (хотя с какой стороны посмотреть).

Всем спасибо !!!
  
Наверх
IP записан
 
villy
Senior Member
****
Отсутствует



Сообщений: 287
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Кто делал "Дерево" на форме(наприм. документа)
Ответ #11 - 04. Июля 2006 :: 15:03
Печать  
В документации: http://www.1cpp.ru/docum/html/ActiveX.html
написано : "Класс позволяет размещать на формах 1С:Предприятие элементы управления (далее ЭУ) ActiveX и обрабатывать события, возникающие в ЭУ. При возникновении события вызывается процедура модуля формы с именем:

<ИдентификаторЭлементаДиалога>_<Событие>

где ИдентификаторЭлементаДиалога - идентификатор элемента диалога, на месте которого создан ЭУ, и Событие - наименование события ЭУ (например OnClick)."

А где можно узнать какие еще есть события?
  
Наверх
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Кто делал "Дерево" на форме(наприм. документа)
Ответ #12 - 04. Июля 2006 :: 15:41
Печать  
У кого? У твоего активикса?    Улыбка


Там где взял его, там и хелп по объекту...
  
Наверх
 
IP записан
 
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Кто делал "Дерево" на форме(наприм. документа)
Ответ #13 - 04. Июля 2006 :: 16:50
Печать  
villy писал(а) 04. Июля 2006 :: 15:03:
А где можно узнать какие еще есть события?

Запускаем Excel, жмем Alt+F11 (или Сервис/макрос/редактор VB), жмем F2 (или View/Object Browser), жмем правой кнопкой крысы, выбираем "References", находим библиотеку типов, где содержится наш контрол (в списке или ч-з "Browse").
И.... ОПА... Все события как на ладони.
  

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Кто делал "Дерево" на форме(наприм. документа)
Ответ #14 - 04. Июля 2006 :: 18:59
Печать  
Хех... есть такие активиксы, что без пол-литры не разберешься Улыбка

По микрософтовским - прямая дорога на MSDN.

По остальным без хелпа думаю все равно будет тяжко...
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 3 
ОтправитьПечать