![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Параметры Метки в реестр [D7, WinXP]
kyn66 © (2007-10-18 10:25:00)Добрый день! Каким образом в реестр записать параметры метки на форме(Label1) : FontName, FontSise, FontStyle, конкретно интересует как записать стиль. К примеру лабел имеет набор Bold и Italic. Затем данные считать из реестра и применить к метке при открытии формы.
kyn66 (2007-10-18 13:19:00) [1]Ой, млин, я и хотел написать FontName, а получилось Font.Name. Проверил, работает !!! Всем Спасибо !
clickmaker (2007-10-18 13:01:00) [2]
> [11] kyn66 © (18.10.07 12:52)
> Тогда наверное лучше запоминать в реестре ItemIndex ?
лучше ComboBox.FontName
при добавлении или удалении шрифта, индекс может стать не тем
Сергей М. (2007-10-18 12:54:00) [3]да.
kyn66 (2007-10-18 12:52:00) [4]Тогда наверное лучше запоминать в реестре ItemIndex ?
Сергей М. (2007-10-18 12:22:00) [5]
> Почему не позицианирует на него?
Потому что приведенная строка кода не имеет ничего общего с "позиционированием".
kyn66 (2007-10-18 12:20:00) [6]>> Сергей М
Спасибо , все окейно, проверил... AStyles = []- тоже значение. Можно попутно ешшо вопрос. Почему при активации формы у FontComboBox1 не появляется имя фонта в строке, когда ему явно об этом говоришь
FontComboBox1.Font.Name := 'Arial';
Почему не позицианирует на него?
Сергей М. (2007-10-18 12:10:00) [7]
> если значение ранее не было установлено? Где проверка?
Не нужно никаких проверок делать.
Для неустановленных стилей в реестр будет записан байт со значением 0, соответственно при его считывании в св-во Font.Style фонт сбросит установки стилей, т.е. ни один стиль у фонта не будет установлен.
kyn66 (2007-10-18 12:01:00) [8]
> Reg.ReadBinaryData('FontStyle', AStyles, SizeOf(AStyles));
Интересныйй вариант, а если значение ранее не было установлено? Где проверка?
Сергей М. (2007-10-18 11:41:00) [9]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 11:28:00) [10]>> clickmaker
А можно подробнее про функцию? По коду смотрю она Integer возвращает. А что с ним дальше делать и как ее применить конкретно?
Сергей М. (2007-10-18 11:25:00) [11]
> потом эту строку в Style я смогу подставить?
Да, можешь. См. [3]
Но разумней будет оперировать dword (или даже byte) - в этом случае реестр не захламляется избыточной инф-цией.
clickmaker (2007-10-18 11:12:00) [12]uses TypInfo
GetEnumValue(TypeInfo(TFontStyle), 'fsBold')
kyn66 (2007-10-18 11:03:00) [13]А потом эту строку в Style я смогу подставить?
str1 := 'fsBold, fsItalic';
Label1.Font.Style := [str1] ???
Сергей М. (2007-10-18 10:39:00) [14]
> как записать стиль
Как угодно.
Можно как строку 'fsBold, fsItalic', можно как двойное слово = dword(byte(label1.font.style))