Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как программно создать компонент?

8.4K
13 июля 2006 года
ratttx
64 / / 06.06.2006
Подскажите, как решить такую задачку более простым способом?
Есть Form1 и button1 и Листбох1
Мне нужно при нажатии на эту кнопку, что бы на этой форме ПРОГРАММНО создавлись 10 Webbrouser-ов с разными именами, а имена(web1, web2, web3....) заносились в листбох1.
303
13 июля 2006 года
makbeth
1.0K / / 25.11.2004
Код:
type TPosArray = array of TRect;
 
procedure TForm1.CreateBrowsers(const Positions: TPosArray);
var i, Count: Integer;
begin
    Count:=High(Positions);
    for i:=0 to Count do
    begin
          with TWebBrowser.Create(Self) do
          begin
               Parent:=Self;
               Name:='web' + IntToStr(i + 1);
               Listbox1.Add(Name, nil);
               Left:=Postions.Left;
               Top:=Postions.Top;
               Width:=Postions.Right - Positions.Left;
               Height:=Postions.Bottom - Positions.Top;
               Visible:=true;
          end;
    end;  
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var Positions: TPosArray;
begin
     // Установка позиций...
    SetLength(Positions, 10);
    Positions[0].Left:=0;
    // ... и т.д.
    CreateBrowsers(Positions);
end;

Примерно так... Это один из вариантов, не больше. Могут быть ошибки - пишу без дельфей под рукой.
8.4K
13 июля 2006 года
ratttx
64 / / 06.06.2006
Начинает орать на Разные реад онли проперти. Например парент и Имя :(
339
13 июля 2006 года
verybadbug
619 / / 12.09.2005
только фишка в том, что TWebBrowser.Parent и TWebBrowser.Name перекрывают родительские (TControl) свойства.....

чтоб до них достучаца, надо пользовать TControl(WB).Parent и TControl(WB).Name..... где WB - созданный TWebBrowser
8.4K
13 июля 2006 года
ratttx
64 / / 06.06.2006
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
wb: TWebBrowser;
begin
for i:=0 to 10 do begin
wb :=TWebBrowser.Create(Self);
TControl(wb).Parent := Self;
TControl(wb).Name := 'web' + IntToStr(i + 1);;
wb.width:=100;
wb.height:=30;
wb.Left:=i;
wb.Top:=i+10;
// Width:=Postions.Right - Positions.Left;
// Height:=Postions.Bottom - Positions.Top;
Listbox1.items.Add(TControl(wb).Name);
Visible:=true;
end;
end;


Большое пасиба для "verybadbug".
[COLOR=red][/COLOR]
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог