Визуальные компоненты "над" TStringGrid ...

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Визуальные компоненты "над" TStringGrid ...

Сообщение Andreich » 28.07.2009 13:43:58

Всем привет! Вопрос банальный до безобразия: ставлю на форму StringGrid и некоторые другие визуальные компоненты (среди них Button, SpeedButton, Edit, ComboBox ...), так вот, почему часть из них возможно расположить поверх StringGrid (Edit, ComboBox) а другие нельзя (например те же кнопки)? Связано ли это каким-то образом с наследованием?

"Move to back" и "Bring to front" не помогают!
(Lazarus 0.9.26.3)
Andreich
постоялец
 
Сообщения: 268
Зарегистрирован: 17.04.2008 12:33:43

Re: Визуальные компоненты "над" TStringGrid ...

Сообщение скалогрыз » 28.07.2009 15:13:24

TButton, TEdit, TComboBox расположить "над" TStringGrid-ом можно (наслединики от TWinControl)

TSpeedButton, TImage... (наследники от TGraphicControl) их расположить "над" TStringGrid-ом, можно только с хитростями.

TGraphicControl-ы рисуются на Canvase родительского объекта.

Например:
TSpeedButton и TStringGrid лежат на форме, то TSpeedButton рисуется на канвасе формы. А TStringGrid на своём собсвтенном канвасе, который в последствии будет наложен на канвас формы. И нарисованный TSpeedButton окажется "снизу"

Избежать этого можно 3мя путями:
1) подкладывать под Graphic конторлы невидимую панельку, или какой-нить контрол (наследник от TWinControl-а)
2) поменять LCL, чтобы TGraphicControl-ы могли рисоваться не только на канвасе родителя, но и на любом другом канвасе (патчи приветствуются)
3) не исопльзовать TGraphicControl-ы вообще.
скалогрыз
долгожитель
 
Сообщения: 1803
Зарегистрирован: 03.09.2008 02:36:48

Re: Визуальные компоненты "над" TStringGrid ...

Сообщение Andreich » 29.07.2009 08:19:43

скалогрыз писал(а):TButton, TEdit, TComboBox расположить "над" TStringGrid-ом можно (наслединики от TWinControl)

В тот то вся и проблема, что TButton над StringGrid'ом не располагается.
Andreich
постоялец
 
Сообщения: 268
Зарегистрирован: 17.04.2008 12:33:43


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 48

Рейтинг@Mail.ru