Переключение на Главную Страницу Страницы: [1] 2 3 4 ОтправитьПечать
Очень популярная тема (более 25 ответов) Простой tabctrl (число прочтений - 19322 )
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Простой tabctrl
04. Июля 2008 :: 10:47
Печать  
ВК с реализацией элемента управления - Закладки (на базе CTabCtrl)
ЭУ можно создавать при помощи 1с++ (Форма::СоздатьЭлементУправления)

Весь мизерный функционал можно увидеть в демо примере. Демо-пример в документации.
« Последняя редакция: 09. Февраля 2013 :: 05:40 - trad »  

TabCtrl.zip ( 45 KB | Загрузки )

1&&2&&3
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Простой tabctrl
Ответ #1 - 04. Июля 2008 :: 10:47
Печать  
Код
Выбрать все
Процедура ФормаПриСоздании(_Форма)
	//устанавливать свойства закладок можно пока окно закладок не создано

	гЗакладки=СоздатьОбъект("Закладки");
	//дефолтные значения свойств
	//гЗакладки.Вертикальный=0;
	//гЗакладки.Многострочный=0;
	//гЗакладки.Кнопки=0;
	//гЗакладки.ФиксированнаяШирина=0;

	_Форма.СоздатьЭлементУправления(гЗакладки,Форма.ЗакладкиХ);
	гЗакладки.ДобавитьЭлемент("Слой1","Первый");
	гЗакладки.ДобавитьЭлемент("Слой2","Третий");
	гЗакладки.ВставитьЭлемент(2,"Слой3","Второй");
КонецПроцедуры

Процедура ЗакладкиХПриИзмененииВыбора(Закл,Номер,Значение)
	Форма.ИспользоватьСлой("Основной,"+Значение,2);
КонецПроцедуры 

  

1&&2&&3
Наверх
 
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Простой tabctrl
Ответ #2 - 04. Июля 2008 :: 11:44
Печать  
О! Подошло! Работает!
А интересно, можно ли из этой ВК вытянуть интерфейс для добавления МФС-шных контролов, 
назвать 1C++AdCtrl.dll и избавиться от этих зависимостей. А то офис ставить на терминал-сервер не очень хорошая идея...
  
Наверх
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Простой tabctrl
Ответ #3 - 04. Июля 2008 :: 11:45
Печать  
/// Подключение для 2,0,3,7
Код
Выбрать все
Перем гЗакладки, гРасшФормы;

//============================================================
Процедура ПослеОткрытия()
	гЗакладки=СоздатьОбъект("Закладки");
	//дефолтные значения свойств
	//гЗакладки.Вертикальный=0;
	//гЗакладки.Многострочный=0;
	//гЗакладки.Кнопки=0;
	//гЗакладки.ФиксированнаяШирина=0;

	//гРасшФормы.СоздатьЭлементУправления(гЗакладки,Форма.ЗакладкиХ);
	//гЗакладки = гРасшФормы.ПолучитьАтрибут("ЗакладкиХ").СоздатьЭлементУправления("Закладки");
	// fixed
	гРасшФормы.ПолучитьАтрибут("ЗакладкиХ").СоздатьЭлементУправления(гЗакладки);
	гЗакладки.ДобавитьЭлемент("Слой1","Первый");
	гЗакладки.ДобавитьЭлемент("Слой2","Третий");
	гЗакладки.ВставитьЭлемент(2,"Слой3","Второй");
КонецПроцедуры // ПослеОткрытия

Процедура ЗакладкиХПриИзмененииВыбора(Закл,Номер,Значение)
	Форма.ИспользоватьСлой("Основной,"+Значение,2);
КонецПроцедуры

Процедура ПриОткрытии()
	ЗагрузитьВнешнююКомпоненту("tabctrl.dll");
	//ЗагрузитьВнешнююКомпоненту("1cpp.dll");
	Форма.ИспользоватьСлой("Основной,Слой1");
	гРасшФормы=СоздатьОбъект("РасширениеФормы");
	гРасшФормы.УстановитьФорму(Форма);
КонецПроцедуры
 


... если что...
« Последняя редакция: 04. Июля 2008 :: 13:03 - trdm »  
Наверх
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Простой tabctrl
Ответ #4 - 04. Июля 2008 :: 12:02
Печать  
Вах... ну и денек!

Сенкс!
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Простой tabctrl
Ответ #5 - 04. Июля 2008 :: 12:13
Печать  
Да нам много функционала не надо... мы и за это очень благодарны.
Только думается мне что зря trad ты это сделал...  Смех не ну я вообще то очень за... первым делом внедрю. счас вместо активикса, только вот народ тебя слопает счас... вот я например можно начну...
1. Хочу добавлять пиктограммы в закладки
2. Хочу меня шрифт (причем и всех и отдельной)
3. Хочу программно менять закладки (т.е. активизировать)
4. Хочу возможность привязать к контролу более одной позиции закладок...

хватит?  Смех
Не ну если честно первые три пункта вообще хочется.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Простой tabctrl
Ответ #6 - 04. Июля 2008 :: 12:14
Печать  
Пы.Сы....
большое тебе спасибо, очень благодарен... весьма.... (Arta, trdm и многие другие думаю со мной)  Подмигивание
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Простой tabctrl
Ответ #7 - 04. Июля 2008 :: 12:17
Печать  
vandalsvq
Ты не оригинален. Я тоже эти три пункта хочу Улыбка

А про п.4 я не понял вообще.
  

1&&2&&3
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Простой tabctrl
Ответ #8 - 04. Июля 2008 :: 12:18
Печать  
trad писал(а) 04. Июля 2008 :: 10:49:
trdm писал(а) 04. Июля 2008 :: 08:44:
Блин, лучше сделайте в 1С++ закладки и панель инструментов, не зависимые от офисов и прочей хрени Улыбка
А структура сейчас достаточно хорошо работает, её хватает Улыбка.

офф.
Дима, может это подойдет http://www.1cpp.ru/forum/YaBB.pl?num=1215168467

Дим, а многострочные закладки можно так сделать?
  

De quelle planète es-tu?
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Простой tabctrl
Ответ #9 - 04. Июля 2008 :: 12:33
Печать  
kms писал(а) 04. Июля 2008 :: 12:18:
Дим, а многострочные закладки можно так сделать?

гЗакладки.Многострочный=1;
это?  Нерешительный
  

1&&2&&3
Наверх
 
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Простой tabctrl
Ответ #10 - 04. Июля 2008 :: 12:44
Печать  
trdm писал(а) 04. Июля 2008 :: 11:44:
О! Подошло! Работает!
А интересно, можно ли из этой ВК вытянуть интерфейс для добавления МФС-шных контролов,  
назвать 1C++AdCtrl.dll и избавиться от этих зависимостей. А то офис ставить на терминал-сервер не очень хорошая идея...

извиняюсь, на счет интерфейса. Он уже есть...
  
Наверх
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Простой tabctrl
Ответ #11 - 04. Июля 2008 :: 12:48
Печать  
trad писал(а) 04. Июля 2008 :: 12:33:
kms писал(а) 04. Июля 2008 :: 12:18:
Дим, а многострочные закладки можно так сделать?

гЗакладки.Многострочный=1;
это?  Нерешительный

Да, оно.
Я на 2.0.3. на коде Димы смотрел

Там вот так надо поставить создание контрола:
Цитата:
гРасшФормы.ПолучитьАтрибут("ЗакладкиХ").СоздатьЭлементУправления(гЗакладки);

  

De quelle planète es-tu?
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Простой tabctrl
Ответ #12 - 04. Июля 2008 :: 12:52
Печать  
У, как хорошо
Надеюсь, этот контрол повторит судьбу TableDoc (счастливую). Улыбка
  
Наверх
ICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Простой tabctrl
Ответ #13 - 04. Июля 2008 :: 12:54
Печать  
kms писал(а) 04. Июля 2008 :: 12:48:
СоздатьЭлементУправления(гЗакладки);

да это ключевой момент если хотим управлять внешним видом закладок
  

1&&2&&3
Наверх
 
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Простой tabctrl
Ответ #14 - 04. Июля 2008 :: 13:04
Печать  
пофиксено...
пс. хорошо знать как оно внутрях работает...
  
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 3 4
ОтправитьПечать