Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Очень популярная тема (более 25 ответов) Поле ввода (многострочный) (число прочтений - 2569 )
recop
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 235
Местоположение: Калуга
Зарегистрирован: 06. Июня 2017
Пол: Мужской
Поле ввода (многострочный)
30. Марта 2019 :: 19:18
Печать  
То-ли где-то читал, то-ли померещилось, но встала необходимость показать текст с
с выделенными словами. Жирностью или цветом (не имеет значения). Поможете?
  
Наверх
 
IP записан
 
Djelf
God Member
*****
Отсутствует


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 564
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: Поле ввода (многострочный)
Ответ #1 - 31. Марта 2019 :: 16:07
Печать  
Расширения для "Поле ввода" не было, но нынче АктивХ`ов бесплатных и достаточно качественных все прибавляется и прибавляется, а с 1с++ мы с ними работать можем.

VXLib очень достойный кандидат на изучение.

А тут вообще титаническая работа была сделана: http://www.vbforums.com/showthread.php?698563-CommonControls-(Replacement-of-the...)
  
Наверх
www  
IP записан
 
recop
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 235
Местоположение: Калуга
Зарегистрирован: 06. Июня 2017
Пол: Мужской
Re: Поле ввода (многострочный)
Ответ #2 - 31. Марта 2019 :: 17:43
Печать  
Djelf писал(а) 31. Марта 2019 :: 16:07:
Расширения для "Поле ввода" не было, но нынче АктивХ`ов бесплатных и достаточно качественных все прибавляется и прибавляется, а с 1с++ мы с ними работать можем.

VXLib очень достойный кандидат на изучение.

А тут вообще титаническая работа была сделана: http://www.vbforums.com/showthread.php?698563-CommonControls-(Replacement-of-the...)


Заинтересовал. Спасибо. Если бы еще ссылочку на готовый примерчик... Круглые глаза
  
Наверх
 
IP записан
 
Djelf
God Member
*****
Отсутствует


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 564
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: Поле ввода (многострочный)
Ответ #3 - 01. Апреля 2019 :: 06:34
Печать  
Ну, с VXPLib я тебя слегка обманул, это не полноценный ЭУ, его надо видимо dynwrap`ом тыкать. На нем Robert RToolTips делал: https://infostart.ru/public/15212/

А с заменой ms`овского лицензионного контрола все просто.
Берем с гихаба весь архив https://github.com/Kr00l/VBCCR, вытаскиваем \VBCCR-master.zip\VBCCR-master\ActiveX Control Version\Bin\VBCCR16.OCX, regsvr32 и все.

Код (C++)
Выбрать все
Перем RichTextBox; //:VBCCR16.RichTextBox
Процедура Сформировать()
	оФорма = СоздатьОбъект("Форма");
	ТекстБокс = оФорма.СоздатьЭлементУправленияНаФорме(Форма, "АктивИкс", "ИдКнопки");
	ТекстБокс.СоздатьЭУ("VBCCR16.RichTextBox");
	Объект = ТекстБокс.Объект;
	Объект.SelRTF = "{\rtf1
	| Привет!
	| \par
	| {\i Это} некий
	| отформатированный {\b текст}.\par
	|}";
КонецПроцедуры
 



  
Наверх
www  
IP записан
 
Djelf
God Member
*****
Отсутствует


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 564
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: Поле ввода (многострочный)
Ответ #4 - 01. Апреля 2019 :: 06:46
Печать  
Вот еще кучка, относительно недавно ставших бесплатными контролов https://www.timosoft-software.de/screenshots/
Их создавать примерно так надо TBarCtlsA.ToolBar
Но чтобы были все плюшки от этих контролов нужно манифест к 1C`на  ComCtl32.dll v.6 делать.
  
Наверх
www  
IP записан
 
recop
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 235
Местоположение: Калуга
Зарегистрирован: 06. Июня 2017
Пол: Мужской
Re: Поле ввода (многострочный)
Ответ #5 - 01. Апреля 2019 :: 11:31
Печать  
Djelf писал(а) 01. Апреля 2019 :: 06:46:
... Но чтобы были все плюшки от этих контролов нужно манифест к 1C`на  ComCtl32.dll v.6 делать.


Класс! Не подскажешь как в 1с реализовать манифест?
  
Наверх
 
IP записан
 
Djelf
God Member
*****
Отсутствует


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 564
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: Поле ввода (многострочный)
Ответ #6 - 01. Апреля 2019 :: 11:47
Печать  
recop писал(а) 01. Апреля 2019 :: 11:31:
Djelf писал(а) 01. Апреля 2019 :: 06:46:
... Но чтобы были все плюшки от этих контролов нужно манифест к 1C`на  ComCtl32.dll v.6 делать.


Класс! Не подскажешь как в 1с реализовать манифест?


Манифест не сложно.
1cv7l.exe.manifest в папку бин, для 1cv7l.exe или можно редактором ресурсов внутрь exe засунуть.
Конфигуратор не используй на такой версии!!!
Будет отличие в формате хранения компаунда, т.е. если перейти на ComCtl32.dll v.6 и изменить обработку - старый ComCtl32.dll может ее не открыть (напишет неверный формат файла).

Код (C++)
Выбрать все
  <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
- <dependency>
- <dependentAssembly>
  <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*" />
  </dependentAssembly>
  </dependency>
- <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
- <application>
  <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />
  <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />
  </application>
  </compatibility>
  </assembly>
 

  
Наверх
www  
IP записан
 
recop
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 235
Местоположение: Калуга
Зарегистрирован: 06. Июня 2017
Пол: Мужской
Re: Поле ввода (многострочный)
Ответ #7 - 01. Апреля 2019 :: 11:57
Печать  
Я так понимаю, что ты выложил содержание файла 1cv7l.exe.manifest? Если так, то кодировка win или dos? И ComCtl32.dll v.6 есть в системе или его качать?
  
Наверх
 
IP записан
 
Djelf
God Member
*****
Отсутствует


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 564
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: Поле ввода (многострочный)
Ответ #8 - 01. Апреля 2019 :: 12:09
Печать  
recop писал(а) 01. Апреля 2019 :: 11:57:
Я так понимаю, что ты выложил содержание файла 1cv7l.exe.manifest? Если так, то кодировка win или dos? И ComCtl32.dll v.6 есть в системе или его качать?

Да хоть в кои-8! Русских букв то нет...

А версию уже сам смотри https://docs.microsoft.com/en-us/windows/desktop/controls/common-control-version...

  
Наверх
www  
IP записан
 
recop
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 235
Местоположение: Калуга
Зарегистрирован: 06. Июня 2017
Пол: Мужской
Re: Поле ввода (многострочный)
Ответ #9 - 01. Апреля 2019 :: 12:11
Печать  
Т.е. 6.10 уже не подойдёт?

Код
Выбрать все
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.1.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*" />
 

  
Наверх
 
IP записан
 
Djelf
God Member
*****
Отсутствует


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 564
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: Поле ввода (многострочный)
Ответ #10 - 01. Апреля 2019 :: 12:19
Печать  
Я с этим сильно не экспериментировал т.к. не все контролы меняют внешний вид и получается зоопарк стилей в форме.
  
Наверх
www  
IP записан
 
recop
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 235
Местоположение: Калуга
Зарегистрирован: 06. Июня 2017
Пол: Мужской
Re: Поле ввода (многострочный)
Ответ #11 - 01. Апреля 2019 :: 13:41
Печать  
Djelf писал(а) 01. Апреля 2019 :: 12:19:
Я с этим сильно не экспериментировал т.к. не все контролы меняют внешний вид и получается зоопарк стилей (Смех) в форме.

Ты же сам говорил, что некоторые контролы они сами рисуют. Если эксперимент остался сбрось в личку пожалуйста. Всё равно у меня почти всё заменено, но... накопил в глобальном модуле, теперь выковыриваю потихоньку Улыбка
  
Наверх
 
IP записан
 
Djelf
God Member
*****
Отсутствует


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 564
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: Поле ввода (многострочный)
Ответ #12 - 01. Апреля 2019 :: 13:46
Печать  
recop писал(а) 01. Апреля 2019 :: 13:41:
Djelf писал(а) 01. Апреля 2019 :: 12:19:
Я с этим сильно не экспериментировал т.к. не все контролы меняют внешний вид и получается зоопарк стилей (Смех) в форме.

Ты же сам говорил, что некоторые контролы они сами рисуют.


Да, сами рисуют, вот поэтому у них стиль и не меняется, а например у списка значений на форме - меняется.
  
Наверх
www  
IP записан
 
recop
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 235
Местоположение: Калуга
Зарегистрирован: 06. Июня 2017
Пол: Мужской
Re: Поле ввода (многострочный)
Ответ #13 - 01. Апреля 2019 :: 20:21
Печать  
Немного поизгалялся над формой список значений, как раз, был бы кстати...

  
Наверх
 
IP записан
 
Djelf
God Member
*****
Отсутствует


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 564
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: Поле ввода (многострочный)
Ответ #14 - 02. Апреля 2019 :: 09:42
Печать  
Хм, я вспомнил что где то видел недостающий элемент...
В TomoSoft`е и видел!

ButtonControls https://www.timosoft-software.de/downloads/buttoncontrols/
XVPLib http://vxplib.sourceforge.net

Код (C++)
Выбрать все
Перем CommandButton; //:BtnCtlsA.CommandButton

Процедура CommandButton_OwnerDraw(action,state,hdc,rect)
	VXPQuickHTML=СоздатьОбъект("VXPLib.VXPQuickHTML");
	VXPQuickHTML.SetSourceText("
	|<body bgcolor=black gfc=red grad=vert>
	|<txt align=center>
	|<font color=white size=12>Форматирование текста
	|<hr color=blue width=60 align=center>
	|<b>bold </b><i>italic </i><u>underline </u><s>stricke </s></font>
	|</txt><br>");
	VXPQuickHTML.Draw(hdc,0,0);
КонецПроцедуры

Процедура Сформировать()
	ТекФорма = СоздатьОбъект("Форма");
	АктивИкс = ТекФорма.СоздатьЭлементУправленияНаФорме(Форма, "АктивИкс", "CommandButton");
	АктивИкс.СоздатьЭУ("BtnCtlsA.CommandButton");
	CommandButton=АктивИкс.Объект;
	CommandButton.Style=2; //sOwnerDrawn
КонецПроцедуры //Сформировать
 



  
Наверх
www  
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 
ОтправитьПечать