Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.03.11;
Скачать: CL | DM;

Вниз

Нужна срочная помощь   Найти похожие ветки 

 
Nija   (2007-02-17 14:45) [0]

Привет всем! Подскажите плиз ка решить эту проблему: у меня есть Pagecontrol и TabSheet1 расположённый на нём. В run-time я добавляю TabSheet`ы с расположенными на них Combobox и webbrouser следующим образом:
var
t:tTabSheet;
w:Twebbrowser;
c:Tcombobox;
p:Tpanel;
begin
t := TTabSheet.Create(PageControl1);
t.PageControl := PageControl1;
t.Caption:="?????? ????????";
p:=Tpanel.Create(t);
Twincontrol(p).Parent:=t;
p.Align:=altop;
c:=Tcombobox.Create(p);
Twincontrol(c).Parent:=p;
p.BevelOuter:=bvNone;
p.Height:=19;
c.Align:=alTop;
w := TWebBrowser.Create(t);
TWinControl(w).Parent := t;
w.Align:=alclient;
end;
Проблема втом что мне нужно что бы комбобокс передал Веббрауеру некоторую инфу.Но так как я создаю их в Run-time я не знаю как это сделать.Все ослажняется тем что у меня может быть создано очень много Combobox, и как обратиться к тому которы лежит на TabSheet который я просматриваю в данный момент.
P.S. Простите что так не красиво офрмил вопрос, просто спешу, если не понятен вопрос напишу поподробнее. А вобщето я хочу написать много оконный Web-brouser(так как это сделали Opera, Maxton..) если у кого есть исходник токого то выложите пожалуйста просто охото посмотреть как он написан.


 
RASkov   (2007-02-17 15:41) [1]

> [0] Nija   (17.02.07 14:45)

Я считаю, комбобокс (если это адресная строка) должен быть один(общий) для всех страничек, да и WebBrowser тоже один может быть....
При смене Page на Pagecontrolе заполняй необходимые свойства комбика и вебброфзера... имхо.


 
Nija   (2007-02-17 16:11) [2]

>заполняй необходимые свойства комбика и вебброфзера
А как мне это сделать ведь я создаю её в Run-time и незнаю её имени, может подскажите...


 
RASkov   (2007-02-17 16:55) [3]

> [2] Nija   (17.02.07 16:11)

L: TList;
Заноси в список созданные компоненты.
L.Add(w);
Обращайся
....
 TWebBrowser(L[PageControl1.ActivePageIndex]).Navigate("");

> я создаю её в Run-time и незнаю её имени

можно имена уникальные генерить и FindComponent()
Вообщем ты определись как у тебя это все будет выглядеть, и если конкретные вопросы будут спрашивай.


 
Nija   (2007-02-17 19:47) [4]

>Вообщем ты определись как у тебя это все будет выглядеть, и если >конкретные вопросы будут спрашивай.
Я сразу определился, и у меня возник конкретный вопрос: У меня в Run-time создаётся Tabsheet, Web Broser, Combobox, мне нужно что бы в созданных мною компонентах из комбобокс можно было бы послать команду браузеру. Тоесть допустим я создал 10 Tabsheet, Web Broser, Combobox, открыл к примеру восьмой, набрал текст в комбобокс и отправил запрос к вебброузеру. Подскажите пожалуйста как это организовать.


 
Nija   (2007-02-18 13:07) [5]

Пожалуйста люди помогите, мне скоро сдовать эту прогу в школу, а она не готова. Если не понятен вопрос то я могу ещё раз поподробнее обьяснить.


 
Nija   (2007-02-18 13:12) [6]

Пожалуйста люди помогите, мне скоро сдовать эту прогу в школу, а она не готова. Если не понятен вопрос то я могу ещё раз поподробнее обьяснить.


 
Leonid Troyanovsky ©   (2007-02-18 13:46) [7]


> Nija   (18.02.07 13:12) [6]

> школу, а она не готова. Если не понятен вопрос то я могу
> ещё раз поподробнее обьяснить.


А что в ответах тобой непонято?

--
Regards, LVT.


 
Nija   (2007-02-18 14:03) [8]

Всё!!!
Простите наверно я выгляжу глупо, но я ни как не могу разобраться, поэтому и прошу помощи


 
RASkov   (2007-02-18 14:16) [9]

> [6] Nija   (18.02.07 13:12)
Пожалуйста люди помогите, мне скоро сдовать эту прогу в школу, а она не готова

Эх ты и лентяй, на попробуй:

 TWebTab = class(TTabSheet)
  FCombo: TComboBox;
  FWeb: TWebBrowser;
  FBb: TButton;
  FPan: TPanel;
  procedure WebNavigate(Sender: TObject);
 public
   constructor MyCreate(Pg: TPageControl);
 end;
......
{ TWebTab }
constructor TWebTab.MyCreate(Pg: TPageControl);
begin
 inherited Create(Owner);
 PageControl:=Pg;
 FCombo:=TComboBox.Create(Self);
 FPan:=TPanel.Create(Self);
 FWeb:=TWebBrowser.Create(Self);
 FPan.Align:=alTop;
 FPan.Parent:=Self;
 FPan.Height:=25;
 FBb:= TButton.Create(Self);
 FBb.Parent:=FPan;
 FBb.Left:=FPan.Width-FBb.Width-2;
 FBb.Top:=2;
 FBb.Height:=21;
 FBb.Caption:="Перейти";
 FBb.OnClick:=WebNavigate;
 FCombo.Parent:=FPan;
 FCombo.Left:=2;
 FCombo.Top:=2;
 FCombo.Width:=FPan.Width-FBb.Width-5;
 FCombo.Anchors:=[akLeft,akRight];
 FCombo.OnSelect:=WebNavigate;
 TWinControl(FWeb).Parent:=Self;
 FWeb.Align:=alClient;
 WebNavigate(FCombo);
end;

procedure TWebTab.WebNavigate(Sender: TObject);
begin
 if Trim(FCombo.Text)="" then begin
  FWeb.Navigate(FCombo.Text);
  Caption:="about:blank";
  Exit;
 end;
 FWeb.Navigate(FCombo.Text);
 if FCombo.Items.IndexOf(FCombo.Text)<0 then FCombo.Items.Add(FCombo.Text);
 Caption:=FCombo.Text;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 TWebTab.MyCreate(PageControl1);
end;


 
Nija   (2007-02-18 14:45) [10]

Простите вроде с алгоритм я понил, но он не работает(или я что то не так сделал). Когда мы нажимаем на кнопку то создаётся web-brouser, combobox...
и FCombo присваевается значение Combobox, и потом идет WebNavigate(FCombo). Но ведь когда это всё происходит Combobox остаётся пустым(так как только что создался), а ведь я ввожу текст уже когда он создалься и передал команду Web-brouser`у.Следовательно этот код не рабочий(как мне кажется, но как я уже сказал я могу ошибаться)


 
RASkov   (2007-02-18 15:00) [11]

> [10] Nija   (18.02.07 14:45)

После того как ты нажмешь на кнопку Button1 на форме, то на PageControl добавится новая страница с адресом "about:blank", далее ты можешь вводить адрес в Combo и нажимать кнопку переход. Можешь доработать конструктор MyCreate и передавать туда еще и строку с адресом. Типа так:

constructor TWebTab.MyCreate(Pg: TPageControl; const SUrl: String="about:blank");
begin
  ...
 FCombo.Text:=SUrl;
....
 WebNavigate(FCombo);
end;

создание из программы
TWebTab.MyCreate(PageControl1, "www.delphimaster.ru");

Или я не понял вопроса....

> Следовательно этот код не рабочий(как мне кажется,

А ты хочешь, что-бы за тебя написали твою домашнюю работу? Думай.


 
Nija   (2007-02-18 15:06) [12]

Сорри, теперь понял что не так, я не заметил что создаётся кнопка, а она создаётся под Combobox



Страницы: 1 вся ветка

Текущий архив: 2007.03.11;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.05 c
15-1171365764
Ega23
2007-02-13 14:22
2007.03.11
как по-аглицки будет


2-1171789338
DTR
2007-02-18 12:02
2007.03.11
Ошибка!!! Word


2-1171795680
Litestone
2007-02-18 13:48
2007.03.11
Путь к файлу


15-1171546150
vitv
2007-02-15 16:29
2007.03.11
Литература по разработке СУБД


15-1171275632
Layner
2007-02-12 13:20
2007.03.11
Кто знает, какие на mail.ru ограничения по отправке писем в день?