Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.11.11;
Скачать: CL | DM;

Вниз

Параметры Метки в реестр   Найти похожие ветки 

 
kyn66 ©   (2007-10-18 10:25) [0]

Добрый день! Каким образом в реестр записать параметры метки на форме(Label1) : FontName, FontSise, FontStyle, конкретно интересует как записать стиль. К примеру лабел имеет набор Bold и Italic. Затем данные считать из реестра и применить к метке при открытии формы.


 
Сергей М. ©   (2007-10-18 10:39) [1]


> как записать стиль


Как угодно.

Можно как строку "fsBold, fsItalic", можно как двойное слово = dword(byte(label1.font.style))


 
kyn66 ©   (2007-10-18 11:03) [2]

А потом эту строку в Style я смогу подставить?
str1 := "fsBold, fsItalic";
Label1.Font.Style := [str1] ???


 
clickmaker ©   (2007-10-18 11:12) [3]

uses TypInfo

GetEnumValue(TypeInfo(TFontStyle), "fsBold")


 
Сергей М. ©   (2007-10-18 11:25) [4]


> потом эту строку в Style я смогу подставить?


Да, можешь. См. [3]
Но разумней будет оперировать dword (или даже byte) - в этом случае реестр не захламляется избыточной инф-цией.


 
kyn66 ©   (2007-10-18 11:28) [5]

>> clickmaker
А можно подробнее про функцию? По коду смотрю она Integer возвращает. А что с ним дальше делать и как ее применить конкретно?


 
Сергей М. ©   (2007-10-18 11:41) [6]

var
 AStyles: TFontStyles;

..

//запись
AStyles := Font.Style;
Reg.WriteBinaryData("FontStyle", AStyles, SizeOf(AStyles));

//чтение
Reg.ReadBinaryData("FontStyle", AStyles, SizeOf(AStyles));
Font.Style := AStyles;


 
kyn66 ©   (2007-10-18 12:01) [7]


> Reg.ReadBinaryData("FontStyle", AStyles, SizeOf(AStyles));

Интересныйй вариант, а если значение ранее не было установлено? Где проверка?


 
Сергей М. ©   (2007-10-18 12:10) [8]


> если значение ранее не было установлено? Где проверка?


Не нужно никаких проверок делать.

Для неустановленных стилей в реестр будет записан байт со значением 0, соответственно при его считывании в св-во Font.Style фонт сбросит установки стилей, т.е. ни один стиль у фонта не будет установлен.


 
kyn66 ©   (2007-10-18 12:20) [9]

>> Сергей М
Спасибо , все окейно, проверил... AStyles = [] - тоже значение. Можно попутно ешшо вопрос. Почему при активации формы у FontComboBox1 не появляется имя фонта в строке, когда ему явно об этом говоришь

 FontComboBox1.Font.Name := "Arial";

Почему не позицианирует на него?


 
Сергей М. ©   (2007-10-18 12:22) [10]


> Почему не позицианирует на него?


Потому что приведенная строка кода не имеет ничего общего с "позиционированием".


 
kyn66 ©   (2007-10-18 12:52) [11]

Тогда наверное лучше запоминать в реестре ItemIndex ?


 
Сергей М. ©   (2007-10-18 12:54) [12]

да.


 
clickmaker ©   (2007-10-18 13:01) [13]


> [11] kyn66 ©   (18.10.07 12:52)
> Тогда наверное лучше запоминать в реестре ItemIndex ?

лучше ComboBox.FontName
при добавлении или удалении шрифта, индекс может стать не тем


 
kyn66 ©   (2007-10-18 13:19) [14]

Ой, млин, я и хотел написать FontName, а получилось Font.Name. Проверил, работает !!! Всем Спасибо !



Страницы: 1 вся ветка

Текущий архив: 2007.11.11;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.018 c
6-1165172528
Yegorchic
2006-12-03 22:02
2007.11.11
Перехват запуска соединение по dial-up


2-1192472919
Elec3C
2007-10-15 22:28
2007.11.11
Проблемка с динамическим массивом


8-1169131582
Vovan #2
2007-01-18 17:46
2007.11.11
Вопрос о WAV


3-1183395335
ssa
2007-07-02 20:55
2007.11.11
остановка Mysql сервера


15-1191931049
Riply
2007-10-09 15:57
2007.11.11
Последний IExplorer 7