Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.03.2009, 10:08   #1
blackstersl
Форумчанин
 
Аватар для blackstersl
 
Регистрация: 23.08.2008
Сообщений: 374
Вопрос Прблема с вкладками: создание на нём компонента.

Привет. У меня возникла проблема с созданием вкладок и создания на нём компонента. Сразу говорю что весь форум посмотрел, не то что меня интересует. Проблема вот в чём: создаю новую вкладку, и потом хочу создать компонент на нём, в моём случае это TWebBrowser. Вкладка создаётся, всё красиво, но WB не создаётся.В чём проблемка? Вот код:
Код:
procedure TForm1.sSpeedButton4Click(Sender: TObject);
var
t:tstabsheet;
wb:TEmbeddedWB;
begin
t := tstabsheet.Create(self);
t.Caption := 'Новая';
wb := tEmbeddedWB.Create(self);
t.PageControl := spagecontrol1;

spagecontrol1.ActivePage := t;

end;
Спасибо.
blackstersl вне форума Ответить с цитированием
Старый 22.03.2009, 10:17   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
procedure TForm1.sSpeedButton4Click(Sender: TObject);
var
t:tstabsheet;
wb:TEmbeddedWB;
begin
t:=TTabSheet.Create(nil);
t.PageControl:=spagecontrol1;
t.Caption := 'Новая';
wb:=TEmbeddedWB.CreateParented(t.Ha ndle);
<тут настрой расположение и прочие свойства wb>
wb.ParentWindow:=t.Handle;
t.CreateParentedControl(wb.Handle);
spagecontrol1.ActivePage := t;
end;
я чуток конечно намудрил, но оно работает
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 22.03.2009 в 10:19. Причина: так лучше:)
Пепел Феникса вне форума Ответить с цитированием
Старый 22.03.2009, 10:21   #3
blackstersl
Форумчанин
 
Аватар для blackstersl
 
Регистрация: 23.08.2008
Сообщений: 374
По умолчанию

Спасибо конечно, но при нажатии на кнопу почему то выбивает ошика -(.

Блин, это у меня делфа глючит, всё нормально. А вот как сделать так чтоб кнопка например "goback" работала не только на основном Twebbrowser а и на всех вкладках.

Последний раз редактировалось Stilet; 23.03.2009 в 10:17.
blackstersl вне форума Ответить с цитированием
Старый 22.03.2009, 10:28   #4
Kostia
Участник клуба
 
Аватар для Kostia
 
Регистрация: 21.11.2007
Сообщений: 1,690
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  t:TTabSheet;
  wb: TWebBrowser;
begin
  t:=TTabSheet.Create(Self);
  t.PageControl:=PageControl1;
  t.Caption:='button';
  wb:=TWebBrowser.Create(t);
  wb.ParentWindow:=t.Handle;
  wb.Navigate('http://programmersforum.ru/showthread.php?p=225372#post225372');
end;
Kostia вне форума Ответить с цитированием
Старый 22.03.2009, 10:31   #5
blackstersl
Форумчанин
 
Аватар для blackstersl
 
Регистрация: 23.08.2008
Сообщений: 374
По умолчанию

С тем я уже разобрался, как можно реализовать второй вопрос? Спасибо.
blackstersl вне форума Ответить с цитированием
Старый 22.03.2009, 10:41   #6
Kostia
Участник клуба
 
Аватар для Kostia
 
Регистрация: 21.11.2007
Сообщений: 1,690
По умолчанию

Можно уточнение, вы хотите, чтобы все браузера откатили назад, или только то, который находится на выделенной вкладке?
Kostia вне форума Ответить с цитированием
Старый 22.03.2009, 10:42   #7
blackstersl
Форумчанин
 
Аватар для blackstersl
 
Регистрация: 23.08.2008
Сообщений: 374
По умолчанию

только тот что находится на выделеной вкладке.
Вот ещё один "прикол" , когда пишу:
Код:
procedure TForm1.sSpeedButton4Click(Sender: TObject);
var
t:tstabsheet;
wb:TEmbeddedWB;
begin
t:=TTabSheet.Create(nil);
t.PageControl:=spagecontrol1;
t.Caption := 'Новая';
wb:=TEmbeddedWB.CreateParented(t.Handle);

wb.align := alclient; //не работает

wb.ParentWindow:=t.Handle;
t.CreateParentedControl(wb.Handle);
spagecontrol1.ActivePage := t;
end;
Подскажите.
blackstersl вне форума Ответить с цитированием
Старый 22.03.2009, 11:11   #8
Kostia
Участник клуба
 
Аватар для Kostia
 
Регистрация: 21.11.2007
Сообщений: 1,690
По умолчанию

Посмотри примерчик.
Вложения
Тип файла: rar 123.rar (3.0 Кб, 27 просмотров)
Kostia вне форума Ответить с цитированием
Старый 22.03.2009, 11:41   #9
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

для GoBack попробуй через
PageControl1.ActivePage.Controls

а насчет выравнивания...лучше всего сам Ресайзь его, ибо это не трудно
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 22.03.2009, 11:46   #10
blackstersl
Форумчанин
 
Аватар для blackstersl
 
Регистрация: 23.08.2008
Сообщений: 374
По умолчанию

спасибо -) Но вот как combobox писать web страницы(которые нужно открыть) чтоб для каждой вкладки своя страница?
blackstersl вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
создание компонента Bayazet Общие вопросы Delphi 4 17.12.2008 16:48
Создание компонента russianstrike Компоненты Delphi 15 01.10.2008 19:22
Создание компонента. Черничный Компоненты Delphi 2 01.06.2008 23:28