Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) СоздатьШрифт() (число прочтений - 6717 )
galuna
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 9
Зарегистрирован: 29. Июня 2007
СоздатьШрифт()
29. Июня 2007 :: 13:11
Печать  
Расскажите, почему у меня не устанавливается шрифт?

     Сервис            = СоздатьОбъект("Сервис");
     МойШрифт      = Сервис.СоздатьШрифт("Arial",,9,1,,,);
//по строкам таблицы значений в цикле
     ТабМесяц.Цвет = "BRUSH["+ПолучитьЦвет(200,200,200)+"]FONTSET["+МойШрифт+"]";  

шрифт не меняется. в чем моя ошибка?
релиз FormEx'а последний, если это имеет значение.
  
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: СоздатьШрифт()
Ответ #1 - 29. Июня 2007 :: 14:10
Печать  
galuna писал(а) 29. Июня 2007 :: 13:11:
Расскажите, почему у меня не устанавливается шрифт?

     Сервис            = СоздатьОбъект("Сервис");
     МойШрифт      = Сервис.СоздатьШрифт("Arial",,9,1,,,);
//по строкам таблицы значений в цикле
     ТабМесяц.Цвет = "BRUSH["+ПолучитьЦвет(200,200,200)+"]FONTSET["+МойШрифт+"]";  

шрифт не меняется. в чем моя ошибка?
релиз FormEx'а последний, если это имеет значение.

А цвет меняется?
Колонка "Цвет" в ТЗ где расположена? Первой по счету?
  
Наверх
ICQ  
IP записан
 
galuna
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 9
Зарегистрирован: 29. Июня 2007
Re: СоздатьШрифт()
Ответ #2 - 29. Июня 2007 :: 14:16
Печать  
vip писал(а) 29. Июня 2007 :: 14:10:
galuna писал(а) 29. Июня 2007 :: 13:11:
Расскажите, почему у меня не устанавливается шрифт?

     Сервис            = СоздатьОбъект("Сервис");
     МойШрифт      = Сервис.СоздатьШрифт("Arial",,9,1,,,);
//по строкам таблицы значений в цикле
     ТабМесяц.Цвет = "BRUSH["+ПолучитьЦвет(200,200,200)+"]FONTSET["+МойШрифт+"]";  

шрифт не меняется. в чем моя ошибка?
релиз FormEx'а последний, если это имеет значение.

А цвет меняется?
Колонка "Цвет" в ТЗ где расположена? Первой по счету?


да, меняется цвет, колонка первая, невидимая.
т.е. другие используемые функции отрабатываются нормально - цвет фона, цвет шрифта, счетчик, отступ.

думала, может быть, оттого, что не убирала для формы "шрифт по умолчанию". убрала, результат тот же.
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: СоздатьШрифт()
Ответ #3 - 29. Июня 2007 :: 14:26
Печать  
А что в "МойШрифт" хранится? Попробуй 3-й параметр сделать = 4
  
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: СоздатьШрифт()
Ответ #4 - 29. Июня 2007 :: 14:28
Печать  
Цитата:
т.е. другие используемые функции отрабатываются нормально - цвет фона, цвет шрифта, счетчик, отступ.

МойШрифт нормальное значение возвращает?
А где эти другие функции находятся?
Попробуй оставить только этот макрос раскраски, убери другие, связанные с раскраской.
  
Наверх
ICQ  
IP записан
 
galuna
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 9
Зарегистрирован: 29. Июня 2007
Re: СоздатьШрифт()
Ответ #5 - 29. Июня 2007 :: 14:30
Печать  
JohnyDeath писал(а) 29. Июня 2007 :: 14:26:
А что в "МойШрифт" хранится? Попробуй 3-й параметр сделать = 4


предполагаю, что там хранится всё-таки код шрифта.
изменение третьего параментра с 9 на 4 ничего не изменило.
  
Наверх
 
IP записан
 
galuna
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 9
Зарегистрирован: 29. Июня 2007
Re: СоздатьШрифт()
Ответ #6 - 29. Июня 2007 :: 14:34
Печать  
vip писал(а) 29. Июня 2007 :: 14:28:
Цитата:
т.е. другие используемые функции отрабатываются нормально - цвет фона, цвет шрифта, счетчик, отступ.

МойШрифт нормальное значение возвращает?


думаю, что да. примеры:
1862928446
-351660891

vip писал(а) 29. Июня 2007 :: 14:28:
А где эти другие функции находятся?


в других строчках этой же таблицы. конкретно в данной строке - только цвет фона и шрифт.

vip писал(а) 29. Июня 2007 :: 14:28:
Попробуй оставить только этот макрос раскраски, убери другие, связанные с раскраской.


убрала, то же самое...  Печаль
  
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: СоздатьШрифт()
Ответ #7 - 29. Июня 2007 :: 14:38
Печать  
Цитата:
убрала, то же самое... 

Цвет изменился, а шрифт нет?

Цитата:
думаю, что да. примеры:
1862928446
-351660891

Отрицательное зачение хэндла шрифта означает ошибку, имхо.
  
Наверх
ICQ  
IP записан
 
galuna
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 9
Зарегистрирован: 29. Июня 2007
Re: СоздатьШрифт()
Ответ #8 - 29. Июня 2007 :: 14:40
Печать  
vip писал(а) 29. Июня 2007 :: 14:38:
Цитата:
убрала, то же самое...  

Цвет изменился, а шрифт нет?

цвет не изменился, т.к. я убрала его изменение. я имела в виду - шрифт не изменился.

vip писал(а) 29. Июня 2007 :: 14:38:
Цитата:
думаю, что да. примеры:
1862928446
-351660891

Отрицательное зачение хэндла шрифта означает ошибку, имхо.

хм.. ну тогда я вообще ничего не понимаю..
  
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: СоздатьШрифт()
Ответ #9 - 29. Июня 2007 :: 14:50
Печать  
Цитата:
цвет не изменился, т.к. я убрала его изменение. я имела в виду - шрифт не изменился.

Я имел ввиду убрать макросы раскраски в других колонках ТЗ, кроме первой.
Код
Выбрать все
МойШрифт=Сервис.СоздатьШрифт("Arial",,9,1);
ТЗ.НоваяКолонка("Цвет");
ТЗ.НоваяКолонка("Строчка");
ТЗ.ВидимостьКолонки("Цвет",0);
Для Сч=1 По 5 Цикл
	ТЗ.НоваяСтрока();
    ТЗ.Цвет="BRUSH[255] FONTSET["+МойШрифт+"]";
	ТЗ.Строчка="Строчка "+Сч;
КонецЦикла;
 



Вот так работает, только что проверил.
  
Наверх
ICQ  
IP записан
 
galuna
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 9
Зарегистрирован: 29. Июня 2007
Re: СоздатьШрифт()
Ответ #10 - 29. Июня 2007 :: 15:01
Печать  
Блин, ребята, сори.
Не знаю, глюк это формекса или так и было задумано.
Я шрифт создавала при открытии формы (переменная формы), а процедурка заполнения была отдельно.
Запихнула создание шрифта в ту же процедуру - отработало нормально.
Вроде бы, всё ничего, но, блин, как же ей пользоваться дальше??? Мне форму нужно перезаполнять постоянно... Каждый раз создавать новый шрифт????!!!!  Печаль

ПС Минусовые значения возвращаются систематически, несмотря на то, что шрифт меняется нормально.
  
Наверх
 
IP записан
 
galuna
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 9
Зарегистрирован: 29. Июня 2007
Re: СоздатьШрифт()
Ответ #11 - 29. Июня 2007 :: 15:10
Печать  
А как же их удалять в таком случае?
Если в той же процедуре, то в таблице шрифт опять же не меняется (по умолчанию).
HELP!
  
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: СоздатьШрифт()
Ответ #12 - 29. Июня 2007 :: 15:45
Печать  
Настало время выложить сюда свою обработку.
Подозреваю, что шрифт создается после заполнения ТЗ.
  
Наверх
ICQ  
IP записан
 
galuna
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 9
Зарегистрирован: 29. Июня 2007
Re: СоздатьШрифт()
Ответ #13 - 29. Июня 2007 :: 15:59
Печать  
vip писал(а) 29. Июня 2007 :: 15:45:
Настало время выложить сюда свою обработку.
Подозреваю, что шрифт создается после заполнения ТЗ.

Нерешительный
Ну надо быть такой дурой...
Шрифт создавался в процедуре ПослеОткрытия....
А ТЗ заполняется, соответственно, ПриОткрытии.....

ОГРОМНОЕ СПАСИБО ЗА ПОМОЩЬ!  Улыбка
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать