Имя: Пароль:
1C
1С v8
v8: Странное создание шрифта - помогите разобраться, плз!
0 dave2000
 
17.01.13
15:31
Если програмно создать новый шрифт без параметров (НовыйШрифт = Новый Шрифт;), он создаётся с параметрами по-умолчанию, а именно: "Шрифт диалогов и меню". Мне же нужен по-умолчанию шрифт Impact 8, на основании которого пользователь сделает уже свой выбор. Делаю так:

//
НовыйШрифт = Новый Шрифт("Impact",8);
ОформлениеСтроки.Ячейки.Заголовок.Шрифт = НовыйШрифт;
//
Диалог = Новый ДиалогВыбораШрифта;
Диалог.Шрифт = НовыйШрифт;
Если Диалог.Выбрать() Тогда
  ОформлениеСтроки.Ячейки.Заголовок.Шрифт = Диалог.Шрифт;
КонецСтроки;

Проблема в том, что НовыйШрифт создаётся как "Шрифт диалогов и меню, Impact, 8", хотя стиль заголовка после присвоения выглядит именно в стиле Impact, так и должно быть. Но при последующем открытии диалога выбора по-умолчанию выбран "<Шрифт диалогов и меню>". Почему так, если по-умолчанию должен быть выбран Impact? Как избавиться от "Шрифт диалогов и меню" при создании, чтобы в диалоге был выбран именно указанный при создании шрифт?

ЗЫ: Шрифт Impact в системе естественно установлен.
1 НЕА123
 
17.01.13
16:30
(0)
хз.
попробовать

Новый Шрифт(WindowsШрифты.СистемныйШрифт,"Verdana", 20,Истина)
2 mikecool
 
17.01.13
16:32
"Почему так, если по-умолчанию должен быть выбран Impact?" почему?
3 dave2000
 
17.01.13
16:38
(2) Потому что я при создании шрифта явно задаю его имя
4 НЕА123
 
17.01.13
16:44
хм.
вид шрифта. как сделать абсолютным?
5 НЕА123
 
17.01.13
16:47
СП
Шрифт (Font)
Размер (Size)
Использование:

Только чтение.
Описание:

Тип: Число.
Содержит размер шрифта, если он задан.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Примечание:
************************************************
Если шрифт задан не абсолютным, то содержит -1.
**************************************************

ни хрена не -1.
6 dave2000
 
17.01.13
16:52
(1) Попробовал, оно создаёт "Системный шрифт, Impact, 8", т.е. первое никуда не девается ((

(4) Да, но с размером шрифта всё ок, при создании он задаётся правильно. А вот с именем шрифта - какой-то он составной получается, из двух частей. Если в диалоге явно в списке выбрать нужный шрифт, шрифт в итоге таким и стаёт, без всяких придатков ("Impact, 8"). Но мне нужно этот шрифт получить програмно, без участия пользователя.
7 НЕА123
 
17.01.13
17:18
может поможет...

http://downloads.v8.1c.ru/content/Platform/8_3_1_531/1cv8upd.htm


При создании объекта типа Шрифт на основании описания шрифта и при указании непустой строки в качестве имени шрифта, значение свойства Вид получившегося объекта будет установлено в значение ВидШрифта.Шрифт, если в конфигурации отключен режим совместимости и в значение ВидШрифта.Абсолютный в противном случае.
8 dave2000
 
17.01.13
20:45
(7) М-да, больше похоже на глюк платформы, чем на фичу.

Видимо, способов програмно создать шрифт с видом "Абсолютный" не существует, только через диалог выбора.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан