請問動態產生TCppWebBrower於TPageControl之後怎麼去控制他網頁呢/ |
尚未結案
|
qubeley2004
一般會員 ![]() ![]() 發表:52 回覆:71 積分:24 註冊:2004-07-13 發送簡訊給我 |
|
andychang1690
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:20 回覆:694 積分:442 註冊:2003-03-14 發送簡訊給我 |
利用PageControl1->ActivePage->PageIndex; // 現在頁數
你可以建立
TList *Component_List;
Component_List = new TList;
建立一個TabSheet
TTabSheet *pPage
pPage = new TTabSheet(PageControl1);
Component_List->Add(pPage);
刪除一個TabSheet
delete (TComponent *) Component_List->Items[PageControl1->ActivePageIndex];
Component_List->Delete(PageControl1->ActivePageIndex);
思考方向處理 Andy Chang
------
Andy Chang |
qubeley2004
一般會員 ![]() ![]() 發表:52 回覆:71 積分:24 註冊:2004-07-13 發送簡訊給我 |
void __fastcall TForm1::cboURLKeyPress(TObject *Sender, char &Key)
{
WideString URL(cboURL->Text);
if(Key==VK_RETURN)
{
if(cboURL->Text !=" ")
{ CppWebBrowser1->Navigate(URL); cboURL->Items->Add(cboURL->Text);
}
}
} 嗯..這是我原本寫的,只要在combo box上面按下enter ;CppWebBrowser1->Navigate(URL); 就會去讀取網頁,現在用動態產生視窗後發現不能用原本的方法 我還是不太懂利用PageControl1->ActivePage->PageIndex; // 現在頁數 這個要怎麼用.可以在說明一下下嗎?? 下面是動態產生視窗的一開始狀況
void __fastcall TForm1::FormCreate(TObject *Sender)
{ char tmpWin[256],tmpSys[256];
GetSystemDirectory(tmpSys,sizeof(tmpSys));
SystemDir=StrPas(tmpSys);
GetWindowsDirectory(tmpWin,sizeof(tmpWin));
WindowsDir=StrPas(tmpWin); //WideString URL();
//CppWebBrowser1->Navigate(URL);
CppWebBrowser1->GoHome(); static int i;
TTabSheet *tab = new TTabSheet(PageControl1);
TFrame2 *tmpFrame = new TFrame2(Application);
tab->PageControl = PageControl1;
tab->Caption = "http://www.yahoo.com.tw";
tmpFrame->Parent = tab;
tmpFrame->Name = "NewFrame" i;
tmpFrame->Align =alClient;
tmpFrame->CppWebBrowser1->GoHome(); cboURL->Items->Add(CppWebBrowser1->LocationURL);
cboURL->Text=CppWebBrowser1->LocationURL; }
|
andychang1690
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:20 回覆:694 積分:442 註冊:2003-03-14 發送簡訊給我 |
FormCreate(TObject *Sender) { Component_List = new TList; // h檔Public TList *Component_List; //將你的CppWebBrowser依PageControl依序產生的TabSheet次序加入 Component_List->Add(CppWebBrowser1); } FormDestroy(TObject *Sender) { // 清除元件暫存檔 for (int iCount = 0; iCount < Component_List->Count; iCount ) { delete (TComponent *) Component_List->Items[iCount]; } delete Component_List; } Button1Click(TObject *Sender) { int iCount_Select=PageControl1->ActivePage->PageIndex; TCppWebBrowser *CppWebBrowser; CppWebBrowser = (TCppWebBrowser *) Component_List->Items[iCount_Select]; CppWebBrowser->Navigate((WideString)Edit1->Text); }請參考 Andy Chang
------
Andy Chang |
qubeley2004
一般會員 ![]() ![]() 發表:52 回覆:71 積分:24 註冊:2004-07-13 發送簡訊給我 |
嗯..抱歉我沒有說清楚 下面程式碼是最原本的就是form上面有TCppWebBrower,不能開成多個視窗如同ie void __fastcall TForm1::cboURLKeyPress(TObject *Sender, char &Key)
{
WideString URL(cboURL->Text);
if(Key==VK_RETURN)
{
if(cboURL->Text !=" ")
{ CppWebBrowser1->Navigate(URL); cboURL->Items->Add(cboURL->Text);
}
}
}
在cboURL按下enter網頁就會變更 現在是於原本的form上面有new一個新的frame上面加上一個 TCppWebBrower 而原本的Form上面只有放一個TPageControl 就是變成成Form上面沒有TCppWebBrower..,弄成可以開多個視窗 就是上面的程式碼就變成沒有TCppWebBrower所以變成不能跑請問要怎麼修改 變成說可以在cboUrl上面按下Enter之後目前所看到的網頁可以變更 想要做成如同kkman這樣 發表人 - qubeley2004 於 2004/07/21 00:06:28
|
andychang1690
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:20 回覆:694 積分:442 註冊:2003-03-14 發送簡訊給我 |
先給你建議,請先限制CppWebBrowser的開窗次數 h檔 private: // User declarations TFrame2 *CppWeb[10]; //限制的開啟Frame次數 TTabSheet *pPage[10]; //PageControl限制的開啟TabSheet次數 cpp檔 FormCreate(TObject *Sender) { //一啟動假設你要先開啟一個首頁檔 pPage[0] = new TTabSheet(PageControl1); pPage[0]->PageControl = PageControl1; pPage[0]->Caption = "0"; // pPage[0]->Name = ; CppWeb[0]=new TFrame2(pPage[0]); CppWeb[0]->Parent=pPage[0]; // 指定 Parent 才會顯示 CppWeb[0]->Align=alClient; } FormShow(TObject *Sender) { // 顯示首頁 CppWeb[0]->CppWebBrowser->Navigate((WideString)"http://www.seednet.net.tw"); } // 當你按下新增網頁事件 Button1Click(TObject *Sender) { // iCount_New=計數現在的TabSheet個數 int iCount_New=PageControl1->PageCount; pPage[iCount_New] = new TTabSheet(PageControl1); pPage[iCount_New]->PageControl = PageControl1; pPage[iCount_New]->Caption = IntToStr(iCount_New); // pPage[iCount_New]->Name = ; CppWeb[iCount_New]=new TFrame2(pPage[iCount_New]); CppWeb[iCount_New]->Parent=pPage[iCount_New]; // 指定 Parent 才會顯示 CppWeb[iCount_New]->Align=alClient; } // 當你按下網址的移至按鈕 Button2Click(TObject *Sender) { // iCount_Select=顯示現在的TabSheet int iCount_Select=PageControl1->ActivePage->PageIndex; // iCount_Select也是相對印的Frame CppWeb[iCount_Select]->CppWebBrowser->Navigate((WideString)Edit1->Text); } // 當你輸入完網址後按下Enter事件 Edit1KeyPress(TObject *Sender, char &Key) { if (Key == 13) Button2Click(Sender); } 刪除網頁的方式應該留給你處理吧! 請參考!Andy Chang
------
Andy Chang |
qubeley2004
一般會員 ![]() ![]() 發表:52 回覆:71 積分:24 註冊:2004-07-13 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |