Ludens
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Frodo_Torbins Цитата: Пробовал и так... Но в реальной задаче — там не совсем TMemo. Там громоздкий TFrame, включающий в себя, помимо TMemo (точнее, продвинутого наследника TMemo), еще ряд контролов со своими свойствами. Переносить все эти свойства поштучно, как Text в вашем примере, — можно, конечно. Но это будет совсем уж некрасиво и неправильно. Что касается TFlowPanel и TGridPanel, то примерял и их. Только у них нет вертикального скроллбара, а значит, надо по-любому использовать тот же TScrollBox или TScrollBar, и конструкция получается слишком искусственной. Если уж говорить о новых компонентах из старших версий дельфи, то больше всего, пожалуй, мне из них подходит TCategoryPanelGroup — если установить в ней HeaderHeight = 0 и вставить в нее несколько TCategoryPanel со вставленными в них моими TFrame... Но это уже какие-то через ж. варианты: ведь упомянутые компоненты совсем для другого предназначены. А я пытаюсь найти естественный способ решения задачи. Добавлено: volser Цитата: Формируйте свою коллекцию в зависимости от Top контрола, и уже в ней переставляйте. | Я пока поступаю еще проще: чтобы поменять местами два контрола, я полностью очищаю коллекцию Controls и создаю ее заново, вставляя старые контролы в новом порядке (разумеется, запретив на это время перерисовку TScrollBox). Этот способ работает, но он некрасив: в частности, там с бегунком скроллбара в некоторых случаях приходится отдельно разбираться, и другие мелкие неожиданности возникают. А я ищу красивый, естественный способ... В любом случае, спасибо, что не поленились вникнуть в чужую проблему. |