| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Кто создает свои компоненты? Поделитесь опытом |
| Автор: Виктор 5.6.2002, 00:42 |
| Меня интересует прорисовка прямоугольника вокруг компонента при массовом выделении нескольких компонент в designtime. При выделении прямоугольник становится не снаружи а изнутри. В результате не все точки почему-то прорисовываются. Кто-нибудь решал такую проблему? |
| Автор: TwoK 5.6.2002, 08:42 |
| А какой компонент - визуальный или нет? Т.е. я имею в виду, идет ли его прорисовка событиями или нет? |
| Автор: Виктор 5.6.2002, 11:26 | ||
Компонент визуальный. Такой эффект можно наблюдать на компоненте TComboEdit из RX Library. При выделении нескольких компонентов точки слева присутствуют, справа (где кнопка) - нет. |
| Автор: TwoK 5.6.2002, 12:35 |
| Навскидку не помню, но по-моему у них вся фишка в том, что кнопка к компоненту "не относится". То есть edit - это сам компонент в понимании дельфей (билдера), а кнопка рисуется исключительно в WM_PAINT и нажатие ловится сообщениями. То есть эти точки находятся "под" этой кнопкой. Суть. Ты выделил компонент, пришел WM_PAINT, кнопка перерисовалась (ей же пофиг, выделено что-то или нет, так как она - не компонент, _который_ ты выделил, - и все, точек нет. |
| Автор: Виктор 5.6.2002, 15:22 |
| да, там к едиту прилепляется TWinControl, который в свою очередь содержит TRxSpeedButton. Видимо так и получается, что точки рисуются на родительском TControl, а кнопка перерисовывается позже и накрывает точки. В принципе можно и самому точки эти прорисовать, только не могу найти, как понять в WM_PAINT, что компонент выделен? |