Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.03.11;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.046 c
6-1159976954
XfroSt
2006-10-04 19:49
2007.03.11
Узнать свойства "Подключения по локальной сети"


15-1171529494
red_imp
2007-02-15 11:51
2007.03.11
ICQ


15-1171538435
Ega23
2007-02-15 14:20
2007.03.11
Миграция с Delphi5 на Delphi7


2-1171792753
Emperor
2007-02-18 12:59
2007.03.11
Запуск EXE на всех пользователях


1-1169107900
JohnKorsh
2007-01-18 11:11
2007.03.11
Раскладка клавиатуры.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский