Всем привет! Вопрос банальный до безобразия: ставлю на форму StringGrid и некоторые другие визуальные компоненты (среди них Button, SpeedButton, Edit, ComboBox ...), так вот, почему часть из них возможно расположить поверх StringGrid (Edit, ComboBox) а другие нельзя (например те же кнопки)? Связано ли это каким-то образом с наследованием?
"Move to back" и "Bring to front" не помогают!
(Lazarus 0.9.26.3)
Визуальные компоненты "над" TStringGrid ...
Модератор: Модераторы
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-ы вообще.
TSpeedButton, TImage... (наследники от TGraphicControl) их расположить "над" TStringGrid-ом, можно только с хитростями.
TGraphicControl-ы рисуются на Canvase родительского объекта.
Например:
TSpeedButton и TStringGrid лежат на форме, то TSpeedButton рисуется на канвасе формы. А TStringGrid на своём собсвтенном канвасе, который в последствии будет наложен на канвас формы. И нарисованный TSpeedButton окажется "снизу"
Избежать этого можно 3мя путями:
1) подкладывать под Graphic конторлы невидимую панельку, или какой-нить контрол (наследник от TWinControl-а)
2) поменять LCL, чтобы TGraphicControl-ы могли рисоваться не только на канвасе родителя, но и на любом другом канвасе (патчи приветствуются)
3) не исопльзовать TGraphicControl-ы вообще.
скалогрыз писал(а):TButton, TEdit, TComboBox расположить "над" TStringGrid-ом можно (наслединики от TWinControl)
В тот то вся и проблема, что TButton над StringGrid'ом не располагается.
