![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как добавить в свой визуальный компонент другой (тоже визуальный) [D7, WinXP]
Michael5 © (2005-08-07 22:19:00)Мой компонент - на основе DBGrid, собираюсь добавить ADOConnection, DataSource и т.д., но пока решил потренироваться на Button'e.
Как я понял, чтобы кнопку было видно, ей нужно задать Parent. Как это правильно сделать, а то он ругается:
на строке
FButton.Parent:=Self;
выдает [Error] MyDBGrid.pas(42): Incompatible types: 'TWidgetControl' and 'TMyDBGrid'
(и то же самое с Лейблом, я и на нем тренируюсь)?
Подскажите пожалуйста, как родительские эти связи устанавливать?
Или тут вообще форму нужно задавать как родителя...?
unit MyDBGrid;
interface
uses
SysUtils, Classes, Controls, Grids, DBGrids, QStdCtrls;
type
TMyDBGrid = class(TDBGrid)
private
{ Private declarations }
FButton:TButton;
protected
{ Protected declarations }
public
{ Public declarations }
published
constructor Create(AOwner:TComponent); override;
{ Published declarations }
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('Standard', [TMyDBGrid]);
end;
{ TMyDBGrid }
constructor TMyDBGrid.Create(AOwner: TComponent);
var MyLabel:TLabel;
begin
inherited Create(AOwner);
FButton:=TButton.Create(Self);
FButton.Parent:=Self;
FButton.Top:=0;
FButton.Left:=0;
FButton.Visible:=true;
MyLabel:=TLabel.Create(Self);
MyLabel.Parent:=Self;
MyLabel.Top:=0;
MyLabel.Left:=0;
MyLabel.Visible:=true;
end;
end.
Michael5 (2005-08-08 09:42:00) [1]Спасибо большое!
Юрий Зотов (2005-08-08 03:32:00) [2]Точнее, просто замените QStdCtrls на StdCtrls;
Юрий Зотов (2005-08-08 03:30:00) [3]Просмотрите uses и уберите оттуда модули, начинающиеся с Q.