全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1089
推到 Plurk!
推到 Facebook!

請問動態產生TCppWebBrower於TPageControl之後怎麼去控制他網頁呢/

尚未結案
qubeley2004
一般會員


發表:52
回覆:71
積分:24
註冊:2004-07-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-07-16 22:27:23 IP:211.76.xxx.xxx 未訂閱
產生了多個視窗事後 我原本還沒有用多視窗只有一個視窗的時候是用TcomboBox來當作輸入的網址 現在動態產生了多個視窗請問要怎麼樣輸入網址的時候目前看到的網頁 他會變更呢???
andychang1690
資深會員


發表:20
回覆:694
積分:442
註冊:2003-03-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-07-18 20:57:07 IP:219.130.xxx.xxx 未訂閱
利用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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-07-20 14:29:04 IP:211.76.xxx.xxx 未訂閱
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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-07-20 18:04:41 IP:219.132.xxx.xxx 未訂閱
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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-07-21 00:03:31 IP:211.76.xxx.xxx 未訂閱
嗯..抱歉我沒有說清楚 下面程式碼是最原本的就是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

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-07-21 10:18:05 IP:219.130.xxx.xxx 未訂閱
先給你建議,請先限制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

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-07-21 13:15:27 IP:211.76.xxx.xxx 未訂閱
嗯嗯嗯,了解了 非常感謝~~!!
系統時間:2024-07-04 7:52:48
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!