Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 1
Регистрация: 13.04.2015
Сообщений: 32
1

Вкладки в браузере, работает только первая

19.04.2015, 20:36. Показов 1296. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет всем.Делал браузер и наткнулся на проблему с вкладками , они создаются , но работает только в первой.Помогите исправить
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
#include <fstream.h>
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "SHDocVw_OCX"
#pragma link "CGAUGES"
#pragma resource "*.dfm"
TForm1 *Form1;
int col=2;
fstream f;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
CppWebBrowser1 -> Navigate(StringToOleStr(ComboBox1->Text));
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
CppWebBrowser1 -> Navigate(StringToOleStr(ComboBox1->Text));
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::BitBtn2Click(TObject *Sender)
{
CppWebBrowser1->GoHome();
}
//---------------------------------------------------------------------------
 
 
void __fastcall TForm1::Button3Click(TObject *Sender)
{
CppWebBrowser1->GoSearch();
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::BitBtn3Click(TObject *Sender)
{
CppWebBrowser1->GoSearch();        
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::BitBtn4Click(TObject *Sender)
{
CppWebBrowser1->GoBack();        
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::BitBtn5Click(TObject *Sender)
{
CppWebBrowser1->GoForward();
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::BitBtn6Click(TObject *Sender)
{
CppWebBrowser1->Refresh();
}
//---------------------------------------------------------------------------
 
 
 
 
 
 
 
void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
if((Key=='T')&&(Shift==TShiftState() << ssCtrl))
{
TTabSheet* newtab;
col++;
newtab = new TTabSheet(this);
newtab->PageControl = PageControl1;
newtab->Name = AnsiString("TabSheet")+col;
newtab->Caption = "NewTab";
TCppWebBrowser* newbrowser;
newbrowser = new TCppWebBrowser(PageControl1);
newbrowser->TOleControl::Parent = newtab;
newbrowser->TOleControl::Name = AnsiString("CppWebBrowser")+col;
newbrowser->TOleControl::Align = alClient;
}
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Form1->KeyPreview=true;
TTabSheet* newtab;
col++;
newtab = new TTabSheet(this);
newtab->PageControl = PageControl1;
newtab->Name = AnsiString("TabSheet")+col;
newtab->Caption = "NewTab";
TCppWebBrowser* newbrowser;
newbrowser = new TCppWebBrowser(PageControl1);
newbrowser->TOleControl::Parent = newtab;
newbrowser->TOleControl::Name = AnsiString("CppWebBrowser")+col;
newbrowser->TOleControl::Align = alClient;
}
//---------------------------------------------------------------------------
 
 
 
void __fastcall TForm1::BitBtn7Click(TObject *Sender)
{
delete PageControl1->ActivePage;  
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::BitBtn8Click(TObject *Sender)
{
TTabSheet* newtab;
newtab = new TTabSheet(this);
col++;
newtab->PageControl = PageControl1;
newtab->Name = AnsiString("TabSheet")+col;
newtab->Caption = "вкладка";
TCppWebBrowser* newbrowser;
newbrowser = new TCppWebBrowser(PageControl1);
newbrowser->TOleControl::Parent = newtab;
newbrowser->TOleControl::Name = AnsiString("CppWebBrowser")+col;
newbrowser->TOleControl::Align = alClient;
 
}
//---------------------------------------------------------------------------
 
 
 
void __fastcall TForm1::HistoryChange(TObject *Sender)
{
char q[100];
f.open("C:\\i\\history.txt");
while (!f.eof())
 
{
f>>q;
if (q!="") History-> Items->Add(q);
}
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::CppWebBrowser1DownloadBegin(TObject *Sender)
{
History->Text=CppWebBrowser1->LocationURL;
        History->Items->Add(History->Text);
        TStringList* file;
        file=new TStringList;
        file->LoadFromFile("C:\\i\\History.txt");
        file->Add(History->Text);
        file->SaveToFile("C:\\i\\History.txt");
        delete file;
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::PageControl1Change(TObject *Sender)
{
 
}
//---------------------------------------------------------------------------
В с++ новичок, если надо что-то еще скинуть скину
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.04.2015, 20:36
Ответы с готовыми решениями:

Работает только первая кнопка
Все привет, нужна помощь, работает только первая кнопка &quot;more&quot; остальные нет ...

Работает только первая страница.
Всем привет. Нужно сделать пару фитч на сайт. Скачал сайт, сделал дамп базы. Файлы сайта...

Почему первая функция работает, только если вторая закомментирована?
здрасте, подскажите почему первая функция работает только если вторая закоменчена z5:: Char -&gt;...

работает только первая ссылка в php через jquery (скрыть открыть div)
Доброго времени суток, у меня такая проблема делаю выборку из базы, ссылок и контейнер с формой,...

5
1408 / 571 / 127
Регистрация: 31.10.2011
Сообщений: 1,960
19.04.2015, 23:03 2
потому что все button-ы привязаны к CppWebBrowser1, а newbrowser хоть и создается, но управлять ним невозможно

Добавлено через 2 минуты
тут можно сделать фрейм с кнопками и браузером, и создавать в новой вкладке уже целый фрейм
0
Практикантроп
4826 / 2718 / 526
Регистрация: 23.09.2011
Сообщений: 5,777
20.04.2015, 08:35 3
В моих "хелпах" сохранилась запись по этой теме; может быть пригодится, если вдумчиво подсоединить...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void __fastcall TForm1::make_tab() 
{        /*  TCppWebBrowser* newbrowser[50] ;  */
int nu = PageControl1->PageCount+1 ;
newtab = new TTabSheet(this);
newtab->PageControl = PageControl1;
for (int i=0;i<PageControl1->PageCount;i++)
 if (!PageControl1->Pages[i]) { nu=i; break; }    //  ->Caption == ""
newtab->Name = AnsiString("TabSheet")+IntToStr(nu);
newtab->Caption = "Закладка "+IntToStr(num+1);
newbrowser[num] = new TCppWebBrowser(this);  //  PageControl1
newbrowser[num]->TOleControl::Parent = newtab;  //
newbrowser[num]->TOleControl::Name = AnsiString("myWebBrowser")+
                     IntToStr(PageControl1->PageCount+1);
newbrowser[num]->TOleControl::Align = alClient;
 newbrowser[num]->OnStatusTextChange = CppWebBrowser1StatusTextChange;
 newbrowser[num]->OnProgressChange = CppWebBrowser1ProgressChange;
 newbrowser[num]->OnNavigateComplete2 = make_info;
 newbrowser[num]->GoHome();
num++;
}
1
0 / 0 / 1
Регистрация: 13.04.2015
Сообщений: 32
20.04.2015, 09:11  [ТС] 4
А как это правильно сделать ?
я про фреймы
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32833 / 21170 / 8148
Регистрация: 22.10.2011
Сообщений: 36,431
Записей в блоге: 8
20.04.2015, 10:22 5
Лучший ответ Сообщение было отмечено danilio00 как решение

Решение

danilio00, без фреймов прекрасно все делается: после создания WebBrowser-а в новой вкладке, просто занеси:
C++
1
newTab->Tag = reinterpret_cast<int>(newbrowser);
, а обработчики нажатия кнопок чуть-чуть поправь:
C++
1
2
3
4
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    reinterpret_cast<TCppWebBrowser*>(PageControl1->ActivePage->Tag)->Navigate(StringToOleStr(ComboBox1->Text));
}
, и так - со всеми кнопками, которые сейчас используют CppWebBrowser1
2
0 / 0 / 1
Регистрация: 13.04.2015
Сообщений: 32
20.04.2015, 12:31  [ТС] 6
volvo,Спасибо , выручил
0
20.04.2015, 12:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.04.2015, 12:31
Помогаю со студенческими работами здесь

Интернет работает только в браузере Tor
Появился процесс isuspm.exe. Иногда из-за него зависал выход из системы. Гугл советовал удалить его...

Навигация работает только в браузере Mozilla
коллеги подскажите что в классе навигации не так? навигация работает только в браузере mozila, не...

Css работает только в одном браузере(мозиле)
color: #333; background: #f7f7f7; font-size: 1em; font-family: &quot;Segoe UI&quot;, sans-serif;...

После очистки от мусора програмой AdwCleaner и Total Security 360 Интернет работает только в TOR браузере
Решил почистить ноут девушки от ненужного мусора,кеша и всяких вирусняков ,использовал Total...

Вкладки в браузере
Подскажите пожалуйста, как сделать, чтобы браузер не создавал новых окон при переходе на ссылку, а...

Вкладки с рекламой в браузере
Время от времени в независимости включен браузер или нет,открываются вкладки с рекламой.Пользуюсь...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru