Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Delphi и Pagecontrol

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> Delphi и Pagecontrol
Имя
Сообщение << Старые топики   Новые топики >>
Delphi и Pagecontrol - 2008-12-12 17:57:10.676666   
AloneHate

Сообщений: 76
Оценки: 0
Присоединился: 2008-01-13 07:36:57.400000
прошу помощи, т.к. уже мозг кипит, не могу разобраться.
творю что то вроде браузера(пример: опера с динамическим созданием страниц-закладок), задача: при нажатие на ссылке должна создаться новая страница в Pagecontrol (создаётся, всё впорядке), далее на этой новой странице/закладке нужно так же создать WebBrowser и передать URL, и вот тут возникает проблема :(

пытаюсь так:
with PageControl1.Pages[Pagecontrol1.PageCount-1] do begin ppDisp := WebBrowser1.DefaultDispatch; Show; end;
но не выходит ((

! если вместо with PageControl1.Pages[Pagecontrol1.PageCount-1] do вписать with TForm1.Create(Self) do то создаётся новая форма со всем содержимым (копия главной формы)

попробывал создать панель вместо ppDisp := WebBrowser1.DefaultDispatch;
Show;
- создаётся но только на первой закладке :(

чувствую что намудрил, но самому сложно разобраться (я только учусь)
Post #: 1
RE: Delphi и Pagecontrol - 2008-12-12 18:22:35.966666   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Ты как на закладках создаёшь TWebBrowser?
Post #: 2
RE: Delphi и Pagecontrol - 2008-12-13 09:30:42.510000   
AloneHate

Сообщений: 76
Оценки: 0
Присоединился: 2008-01-13 07:36:57.400000
создаю вот так:

procedure TForm1.WebBrowser1NewWindow2(Sender: TObject; var ppDisp: IDispatch; var Cancel: WordBool); var ts: TTabSheet; WB: TWebbrowser; begin // Create a new TabSheet ts := TTabSheet.Create(PageControl); try // Assign TTabSheet Properties ts.PageControl := PageControl; ts.Parent := PageControl; ts.PageIndex := PageControl.ActivePageIndex + 1; ts.Caption:=form1.WebBrowser1.LocationName; // Create a TWebbrowser instance WB := TWebbrowser.Create(ts); // put TWebbrowser on TTabSheet TControl(WB).Parent := ts; // or: Ts.InsertControl(WB); WB.Align := alClient; WB.Silent := True; WB.Visible := True; PageControl.ActivePage := ts; // Assign Webbrowser Events //++++++++++++++ Вот это нужно заменить, но незнаю чем(описание ниже) ppDisp := WebBrowser1.DefaultDispatch; Show; //++++++++++++++++++++++++++++++++++++++++++++++++++++ except ts.Free; end; end;
теперь создаётся новая "закладка", на новой закладке создаётся WB, но не передаётся URL от WebBrowser1.

паралельно возникают вопросы:
1. будет ли этот код уневерсальным? (например в том оке которое создаётся, пользователь жмёт на другую ссылку и тогда так же создастся новая закладка, и на ней новые объекты, по свойствам как и первый WB)

2. после решения первого вопроса нужно будет всю эту конструкцию заталкать в ещё один PageControl, и при создании новой страницы нужно опять динамически воссоздать всё что было (компонент PageControl1, и одна страница с компонентом WebBrowser) уже на новой странице главного PageControl…
Вроде бы гдето мне попадалась статья как можно всё это дело заталкать в массив! возникает вопрос - это самый лутший способ в решении этой задачи, или есть более рациональный способ?

***Исходник***

З.Ы. var ppDisp: IDispatch
Dispatch interface types (Windows only) - туго у меня с вражеским языком, но это значит что это только для окон? например при создании нового окна? или я путаю…
Post #: 3
RE: Delphi и Pagecontrol - 2008-12-14 04:21:49.953333   
AloneHate

Сообщений: 76
Оценки: 0
Присоединился: 2008-01-13 07:36:57.400000
народ чё никто помочь неможет?
Post #: 4
RE: Delphi и Pagecontrol - 2008-12-14 14:08:00.800000   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
А что тут помогать-то. Распиши на листике алгоритм, потом закодируй его. Только предварительно выкури документации по tabcontrol и webbrowser. Скорее всего у тебя проблема логического характера.
Post #: 5
RE: Delphi и Pagecontrol - 2008-12-14 17:05:08.950000   
AloneHate

Сообщений: 76
Оценки: 0
Присоединился: 2008-01-13 07:36:57.400000
с первой частью программы покончено :) вот теперь голову ломаю со второй частью:

нужно всю эту конструкцию заталкать в ещё один PageControl, и при создании новой страницы нужно опять динамически воссоздать всё что было (компонент PageControl1, и одна страница с компонентом WebBrowser) уже на новой странице главного PageControl…

в каком направлении копать? на сколько я понимаю нужно всю эту конструкцию заталкать в массив?
Post #: 6
RE: Delphi и Pagecontrol - 2008-12-14 17:58:01.570000   
alexbozhko

Сообщений: 1024
Оценки: 0
Присоединился: 2005-11-24 13:35:34
quote:

ORIGINAL: AloneHate

с первой частью программы покончено :) вот теперь голову ломаю со второй частью:

нужно всю эту конструкцию заталкать в ещё один PageControl, и при создании новой страницы нужно опять динамически воссоздать всё что было (компонент PageControl1, и одна страница с компонентом WebBrowser) уже на новой странице главного PageControl…

в каком направлении копать? на сколько я понимаю нужно всю эту конструкцию заталкать в массив?

Как-то ты сумбурно немного все объясняешь…
В любом случае, ты можешь использовать для запихивания контролов не массив, а List.
Возьми Марко Кэнту D7 Для профессионалов и там на стр.176 почитай про TObjectList.

Post #: 7
RE: Delphi и Pagecontrol - 2008-12-17 19:45:41.773333   
b[e]nd3p

Сообщений: 187
Оценки: 0
Присоединился: 2008-09-02 20:54:56.370000
Еще как вариант сделать свой класс и при создании новой страницы его воссоздать, если правильно помню.
Post #: 8
RE: Delphi и Pagecontrol - 2008-12-18 04:40:56.330000   
AloneHate

Сообщений: 76
Оценки: 0
Присоединился: 2008-01-13 07:36:57.400000
2 alexbozhko, спасибо за подсказку (книга интересная которую посоветовал)
2 b[e]nd3p, если первый вариант не смогу реализовать, буду ковырять в сторону классов ))
Post #: 9
RE: Delphi и Pagecontrol - 2008-12-18 13:13:43.376666   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Как можно писать на дэлфи, не зная ООП ("классов") о_О ??
Post #: 10
RE: Delphi и Pagecontrol - 2008-12-18 19:45:48.406666   
Denaturat

Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
quote:

ORIGINAL: _SaZ_

Как можно писать на дэлфи, не зная ООП ("классов") о_О ??


классы - это ещё не ООП; более того, это вообще не ООП. а насчёт того, "как" - формошлёпство никто не отменял, что тебя удивляет?
Post #: 11
RE: Delphi и Pagecontrol - 2008-12-18 20:32:30.436666   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
"Классы" в кавычках не просто так =).
Post #: 12
RE: Delphi и Pagecontrol - 2008-12-19 06:22:50.786666   
AloneHate

Сообщений: 76
Оценки: 0
Присоединился: 2008-01-13 07:36:57.400000
народ, я же написал что УЧУСЬ, ещё в первом посте! что такое клас я знаю!
а на счёт формашлёпства-думаю почти все с этого начинали!

З.Ы. всем огромное "спасибо" за помощь!
Post #: 13
RE: Delphi и Pagecontrol - 2008-12-19 06:41:15.370000   
Denaturat

Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
quote:

ORIGINAL: AloneHate

народ, я же написал что УЧУСЬ, ещё в первом посте! что такое клас я знаю!
а на счёт формашлёпства-думаю почти все с этого начинали!

З.Ы. всем огромное "спасибо" за помощь!


а на тебя кто-то наезжает? мы это так, мысли вслух

насчёт формошлёпства ты немножко ошибаешься - нормальные люди начинают с дискретной математики, а конкретно - универсальных вычислителей. потом уже теория алгоритмов, теория структур данных и разные парадигмы их объединения - в том числе и ООП

формошлёпство вообще не нужно, делать GUI на IDE'шных RAD'ах - убожество; если тебе так интересно начинать именно с GUI - посмотри в сторону Tcl/Tk
Post #: 14
RE: Delphi и Pagecontrol - 2008-12-19 09:50:36.336666   
AloneHate

Сообщений: 76
Оценки: 0
Присоединился: 2008-01-13 07:36:57.400000
quote:

насчёт формошлёпства ты немножко ошибаешься - нормальные люди начинают с дискретной математики, а конкретно - универсальных вычислителей. потом уже теория алгоритмов, теория структур данных и разные парадигмы их объединения - в том числе и ООП


согласен, погарячился :) но я самоучка и могу применять пока только формашлёпство, как бы это смешно/грустно не звучало :(

З.Ы. качаю книги по дискретке :)
Post #: 15
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> Delphi и Pagecontrol







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.