Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Параметры Метки в реестр [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))


Наверх

Титульная страница Поиск, карта сайта Написать письмо