Здравствуйте, Vi2, Вы писали:
Vi2>Что такое "постоянство свойств"?
Когда в desing-time в VBasic устанавливаешь шрифт для моего ActiveX
то при запуске программы шрифт берется не из конструктора (значение шрифта по умолчанию)
а то которое было установленно в desing-time.
L>Когда в desing-time в VBasic устанавливаешь шрифт для моего ActiveX, то при запуске программы шрифт берется не из конструктора (значение шрифта по умолчанию), а то которое было установленно в desing-time.
Это нормальное поведение Контрола.
Не давай устанавливать это свойство в desing-time.
Я не спец по Контролам, но существуют два режима создания Контрола — самое первое (параметры берутся по умолчанию), и последующие (параметры берутся из хранилища).
С другой стороны, Контрол знает и может различить desing-time и run-time, чтобы принять или отвергнуть что-либо. Или поменять свое поведение.
Когда в desing-time в VBasic устанавливаешь шрифт для моего ActiveX, то при запуске программы шрифт берется не из конструктора (значение шрифта по умолчанию), а то которое было установленно в desing-time.[/q]
Vi2>Это нормальное поведение Контрола.
Это нормальное поведение, но у меня оно не работает !!!
У меня всегда значение берется из конструктора, а должно браться из хрпанилища !!!
L>Это нормальное поведение, но у меня оно не работает !!!
L>У меня всегда значение берется из конструктора, а должно браться из хрпанилища !!!
Ну тогда это не постоянство свойств, а сохранение и восстановление свойства. Я-то думал, тебе нужно, чтобы свойство вообще не менялось.
Похоже, что Контрол твой не выставляет флаг "Грязности" (dirty флаг), говорящий о том, что в Контроле что-то изменилось со времени последней загрузки (loading). Это используется при сохранении/восстановлении Контрола по IPersist* механизму. Посмотри на реализацию в ATL этих свойств. Что-то ты делаешь не так.
Vi2>Похоже, что Контрол твой не выставляет флаг "Грязности" (dirty флаг), говорящий о том, что в Контроле что-то изменилось со времени последней загрузки (loading). Это используется при сохранении/восстановлении Контрола по
IPersist* механизму. Посмотри на реализацию в ATL этих свойств. Что-то ты делаешь не так.
похоже на то, но странно так как в реализации put putref методов я использую
Однако, проверь карту BEGIN_PROP_MAP/END_PROP_MAP. Включено ли туда свойство Font и как? Именно BEGIN_PROP_MAP/END_PROP_MAP определяет сохранение и восстановление свойств в IPersist*.