![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() В делфях после 7й версии появилась функция AlwaysShowDragImages, что позволяло показывать DragImage везде. В 7й же версии ее еще нет и мне надо сделать ее аналог.
Задача добавить каждому элементу формы новый ControlStyle - [csDisplayDragImage], что позволит прорисовывать DragImage везде. Пробовал так: Код:
i:=0; repeat Controls[i].ControlStyle := Controls[i].ControlStyle + [csDisplayDragImage]; Inc(i); until i = ControlsCount-1; Но ControlsCount возвращает всего 2, и я прохожу так только 2 елемента. Если вместо Controls и ControlCount использовать Components и ComponentsStyle соответственно, то уже проходит 125 елементов, но тут беда, поменять ControlStyle могу только так: Код:
i:=0; repeat if (Components[i] is TPanel) then (Components[i] as TPanel).ControlStyle := (Components[i] as TPanel).ControlStyle + [csDisplayDragImage]; Inc(i); until i = ComponentCount-1; но в этом случае меняется только для TPanel и придется подставлять вместо TPanel все виды контролов, что есть. Что можете посоветовать, бравые молодцы?))) Как побороть это и прорисовать эту картинку везде? |