Главная страница
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.03 c
15-1171396436
Суслик
2007-02-13 22:53
2007.03.11
Вопрос по Excel - автоопределение высоты ряда


2-1171859755
XDISABLED
2007-02-19 07:35
2007.03.11
Edit


2-1171724058
Norfolk
2007-02-17 17:54
2007.03.11
TPageControl запись в поле Edit на второй вкладке.


15-1170606148
DemonP
2007-02-04 19:22
2007.03.11
Electronics Workbench.512


2-1171643622
sat
2007-02-16 19:33
2007.03.11
delay??