Visual C++網路程式設計經典案例詳解 第5章 網頁瀏覽器 製作個性化介面 工具欄程式設計
在VC中製作與IE功能相似的網頁瀏覽器
可以使用MFC中的CHtmlView類
也可以使用ActiveX控制元件類CWebBrowser2實現網頁瀏覽器的開發
對於網路瀏覽器而言
工具欄是很重要的一部分
在工程中使用工具欄可以方便使用者的操作。
使用者通過工具欄上的位址列輸入網頁地址
然後進行連線瀏覽
工程中的工具欄應當包含瀏覽記錄等功能按鈕
位址列和連線按鈕則放置到另一對話方塊上
相關推薦
Visual C++網路程式設計經典案例詳解 第5章 網頁瀏覽器 製作個性化介面 工具欄程式設計 新增工具欄按鈕
製作網頁瀏覽器時 使用者還需要新增一些功能。 例如 使用者重新整理上一步下一步 和瀏覽記錄等。 這些操作在VC中實現非常簡單。 首先在資源管理器中,展開Toolbar項 新增四個工具欄按鈕 按鈕的ID分別為 ID_VIEWRECORD、ID_PRE、ID_NEXT、ID_REFR
Visual C++網路程式設計經典案例詳解 第5章 網頁瀏覽器 製作個性化介面 工具欄程式設計 OnCreate()函式
在這裡 使用者需要用到MFC中CReBar類 該類相當於一個容器 可以將多個控制元件組合在一起 程式碼如下 int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) { ...//省略部分程式碼 if(dlg.m_hWnd==NU
Visual C++網路程式設計經典案例詳解 第5章 網頁瀏覽器 製作個性化介面 工具欄程式設計 新增對話方塊到工具欄
將ID為ID_DIALOG 的對話方塊新增到工具欄中, 使用者需要將類物件設定為CMainFrame類的成員變數 首先,在CMainFrame類的標頭檔案"MainFrm.h"開頭處 新增CTooldlg類的標頭檔案“Tooldlg.h” ... //省略部分程式碼 #includ
Visual C++網路程式設計經典案例詳解 第5章 網頁瀏覽器 製作個性化介面 工具欄程式設計 介面設計
在工程中新增一個對話方塊作為位址列等控制元件的面板 ID為 ID_DILOG 將組合框與連線按鈕放置到對話方塊面板上 介面中的各個控制元件以及屬性如表所示 控制元件ID及其屬性 控制元件ID IDC_STATIC IDC_COMBO1 IDC_BUTTON1 屬性 地址 地址輸入框
Visual C++網路程式設計經典案例詳解 第5章 網頁瀏覽器 製作個性化介面 工具欄程式設計
在VC中製作與IE功能相似的網頁瀏覽器 可以使用MFC中的CHtmlView類 也可以使用ActiveX控制元件類CWebBrowser2實現網頁瀏覽器的開發 對於網路瀏覽器而言 工具欄是很重要的一部分 在工程中使用工具欄可以方便使用者的操作。 使用者通過工具欄上的位址列輸入網頁地址
Visual C++網路程式設計經典案例詳解 第5章 網頁瀏覽器 製作個性化介面 如何實現收藏夾功能 新增訊息響應函式
使用者將網址新增到收藏夾以後 便可以直接單擊選單選單中的網址進行瀏覽 使用者單擊選單的訊息響應函式重要 首先在CMainFrame類的標頭檔案MainFrm.h 中定義一個彈出選單的訊息響應函式 程式碼如下 afx_msg void OnMenuClick(int nID); //定
Visual C++網路程式設計經典案例詳解 第5章 網頁瀏覽器 製作個性化介面 新增訊息響應上一步下一步重新整理瀏覽記錄函式
程式將使用者單擊處的網址設定為組合框的內容後, 單擊連線按鈕, 呼叫CMainFrame::OnMybutton()函式 現在程式已經實現了瀏覽網頁和儲存 檢視瀏覽記錄等功能 關於上一步,下一步和重新整理等功能的實現非常簡單 訊息響應函式的建立和連線按鈕的響應函式建立方法一樣 功能程式碼如下
Visual C++網路程式設計經典案例詳解 第5章 網頁瀏覽器 製作個性化介面 新增訊息響應 OnSelchangeCom()函式
如果使用者從下拉列表框中選擇瀏覽網址, 則程式還需要響應組合框的CBN_SELCHANGE訊息 該響應函式定義如下 void CMainFrame::OnSelchangeCom() { CString str;//定義字串變數 int i=GetDlgItem(IDC_COMBO1
Visual C++網路程式設計經典案例詳解 第5章 網頁瀏覽器 製作個性化介面 新增訊息響應 OnCreate()函式
程式在啟動時 還應該從recode.URL檔案中讀取瀏覽過的網址, 並新增到位址列的下拉列表框中 供使用者檢視 該功能在函式CMainFrame::OnCreate()中實現, 因為該函式是程式啟動後的第一個呼叫的函式 程式碼如下 int CMainFrame::OnCreate(LPC
Visual C++網路程式設計經典案例詳解 第5章 網頁瀏覽器 製作個性化介面 新增訊息響應 OnButton()函式新增程式碼
當用戶每次輸入網頁地址後, 程式需要將該地址存入URL檔案中, 以便使用者檢視瀏覽記錄和向下拉列表框中新增已瀏覽網頁的網路地址, 所以需要在連線按鈕的響應函式中新增程式碼。 程式碼如下: void CMainFrame::OnButton() { CString str; //定義字
Visual C++網路程式設計經典案例詳解 第5章 網頁瀏覽器 製作個性化介面 新增訊息響應 設定框架類CMainFrame的成員變數
引數lpszURl 表示網頁的網路地址 其他引數均預設為NULL 在檢視類中自定義函式成功之後, 將檢視類物件設定為框架類CMainFrame的成員變數 方法如下 #include<HTML1View.h> class CMainFrame: public CFrameWnd
Visual C++網路程式設計經典案例詳解 第5章 網頁瀏覽器 製作個性化介面 新增訊息響應 Navigate2()函式
函式Navigate2()是CHtmlView類成員函式 用於開啟指定網路地址的網頁, 其原型如下 void Navigate2(LPCTSTR lpszURL,DWORD dwFlags = 0, LPCTSTR lpszTargetFrameName = NULL, LPCTSTR
Visual C++網路程式設計經典案例詳解 第5章 網頁瀏覽器 製作個性化介面 新增訊息響應 getpage()函式
m_view.getpage(str)表示呼叫檢視類中的自定義函式開啟指定網頁 使用者要使用該函式,必須在檢視類中進行定義 首先在CHTML1View類的標頭檔案"HTML1View.h"中 定義函式getpage() 引數型別為CString型別 程式碼如下 class CHTML
Visual C++網路程式設計經典案例詳解 第5章 網頁瀏覽器 HTTP響應 實體標題欄位資訊 Content-Length標題
該標題必須與Content-type標題一起使用 用於表示實體資料的大小(以位元組為單位) 其用法如下 HTTP/1.1 200 OK Date: Mon,21 Nov 2008 18:33:22 GMT Sever: Microsoft-IIS/6.0 Accept-Ranges: b
Visual C++網路程式設計經典案例詳解 第5章 網頁瀏覽器 HTTP響應 實體標題欄位資訊 Content-type標題
在伺服器的響應訊息中含有實體資料 Content-type標題可以用於指示實體資料的個數 以及所使用的字符集 Content-type:text/html; charset=ASCII 實體資料是文字格式的HTML檔案 所使用的字符集為XLM 如果伺服器返回一幅 XLM 或其他格式
Visual C++網路程式設計經典案例詳解 第5章 網頁瀏覽器 HTTP響應 實體資料 類獲取響應訊息的響應碼
結構體的用法很簡單。 例如,利用該類獲取響應訊息的響應碼 程式碼如下 ... message msg; //結構體物件 CString str; //存放響應碼 msg.messagehead=&recvdata; //recvdata 為接收到的響應訊息
Visual C++網路程式設計經典案例詳解 第5章 網頁瀏覽器 HTTP響應 實體資料 自定義一個簡單的訊息體結構
總之,伺服器返回的響應訊息類似於C++語言中的結構體 訊息頭和訊息體就是這個結構體裡面的元素。 使用者在使用HTTP程式設計時, 可以根據需要自定義一個結構體儲存該訊息資料。 例如,自定義一個簡單的訊息結構體 typedef struct { char *messagehead; /
Visual C++網路程式設計經典案例詳解 第5章 網頁瀏覽器 HTTP響應 實體資料 伺服器的訊息響應格式
在伺服器的響應訊息中包括了訊息頭和訊息體兩部分。 其中訊息體中包含的實體資料。 並且在訊息頭和實體資料之間使用一個空白行進行分隔。 例如 客戶端向伺服器請求一個頁面GET.html 伺服器的響應訊息格式如下 HTTP/1.1 200 OK//訊息頭。 Date: Mon,21 Nov
Visual C++網路程式設計經典案例詳解 第5章 網頁瀏覽器 HTTP響應 響應狀態資訊 響應標題欄位資訊 Location標題
在響應標題欄位資訊中包含了伺服器返回除響應行以外的其他資訊 當伺服器上的資源被儲存到其他地址以後 伺服器會將新地址到客戶端 這時在響應標題欄位中會新增Location標題 該標題表示資源的實際位置 並且使絕對的URL地址 HTTP/1.1 302 OK Date: Mon,21 No
Visual C++網路程式設計經典案例詳解 第5章 網頁瀏覽器 HTTP響應 響應狀態資訊 響應碼一些具體含義
如果使用者需要了解響碼具體情況, 請參考RFC2068 其中給出了具體響應碼的含義。 例如,響應碼的一些具體含義。 響應碼 意義 201 伺服器建立了一個新資源