Форум: "Начинающим";
Текущий архив: 2007.11.11;
Скачать: [xml.tar.bz2];
ВнизПараметры Метки в реестр Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.047 c