Вопрос в другом. ДиалогВыбораЦвета возвращает цвет строкой, а в формате (R,G,
почему-то всё время выдаёт (-1,-1,-1). Почему? Конструктор Цвет работает только в формате (R,G,
. И второй вопрос. Картинку на форме можно отобразить в поле картинки, а как отобразить цвет? Поля цвета же не существует. Как вариант, додумался покрасить какой-то текст в цвет реквизита и всё. По-другому как-то можно?
В Инете нашёл такую конструкцию с другим диалогом выбора цвета:
Процедура Реквизит1ПриИзменении(Элемент)
ШелСкрипт=Новый COMОбъект("WScript.Shell");
ШелСкрипт.RegWrite("HKLM\SOFTWARE\Classes\Licenses\4D553650-6ABE-11cf-8ADB-00AA00C00905\","gfjmrfkfifkmkfffrlmmgmhmnlulkmfmqkqj");
Диалог=Новый COMОбъект("MSComDlg.CommonDialog");
Диалог.ShowColor();
Скрипт=Новый COMОбъект("MSScriptControl.ScriptControl");
Скрипт.language="javascript";
Скрипт.AddObject("Диалог",Диалог);
Цвет = РазложитьRGB(Скрипт.Eval("Диалог.Color"));
КонецПроцедуры
Функция РазложитьRGB(ЗначениеЧислом)
ЦветRGB = ЗначениеЧислом;
R = ЦветRGB%256;
G = (Цел(ЦветRGB/256))%256;
B = (Цел(ЦветRGB/(256 * 256)))%256;
Возврат Новый Цвет(R,G,B);
КонецФункции
Может, кому-то пригодится.
i |
| Ознакомьтесь с правилами форума!
|
Сообщение отредактировал logist - 06.02.13, 9:06