можно еще использовать
TStream.WriteComponent и
TStream.ReadComponent сохранит и прочитает в поток текущее состояние любого компонента (если на форме куча кнопочек, панелек и проч. - надо каждую кнопочку, панельку и проч. сохранять и читать отдельно)