谷歌瀏覽器的原始碼分析 6

2021-09-11 05:56:55 字數 2341 閱讀 6382

分享一下我老師大神的人工智慧教程。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智慧的隊伍中來!

這個輸入框的自動完成的功能,是比較智慧型化的。因為它會根據以往的輸入自動完成,或者智慧型提示所需要的連線或者內容。

下面就來先看這個類的定義:

#001  // provides theimplementation of an edit control with a drop-down

#002  // autocomplete box. the boxitself is implemented in autocomplete_popup.cc

#003  // this file implements theedit box and management for the popup.

#004  //

#006  // autocomplete dropdown isalways displayed because there is always a

#009  // of these modes we're in.

#010  class autocompleteedit

#011      : publiccwindowimpl

#012                          cricheditctrl,

#013                          cwintraits

#014                                     es_nohidesel> >,

#015        publiccricheditcommands,

#016        public menu::delegate{

類autocompleteedit繼承了類cwindowimpl、類cricheditcommands、類menu::delegate。其中類cwindowimpl實現了windows視窗,它是wtl裡的視窗模板類,主要用來建立視窗介面類,並且使用類cricheditctrl作為基類,類cricheditctrl主要呼叫windows裡的編輯類。類cricheditcommands實現richedit的命令功能。menu::delegate類是實現智慧型下拉式選單的提示介面。因此,要學習開發chrome,需要先學習wtl的開發,它是一套基於模板的視窗框架。下一次再仔細地分析自動完成的實現過程。

分享一下我老師大神的人工智慧教程。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智慧的隊伍中來!

這個輸入框的自動完成的功能,是比較智慧型化的。因為它會根據以往的輸入自動完成,或者智慧型提示所需要的連線或者內容。

下面就來先看這個類的定義:

#001  // provides theimplementation of an edit control with a drop-down

#002  // autocomplete box. the boxitself is implemented in autocomplete_popup.cc

#003  // this file implements theedit box and management for the popup.

#004  //

#006  // autocomplete dropdown isalways displayed because there is always a

#009  // of these modes we're in.

#010  class autocompleteedit

#011      : publiccwindowimpl

#012                          cricheditctrl,

#013                          cwintraits

#014                                     es_nohidesel> >,

#015        publiccricheditcommands,

#016        public menu::delegate{

類autocompleteedit繼承了類cwindowimpl、類cricheditcommands、類menu::delegate。其中類cwindowimpl實現了windows視窗,它是wtl裡的視窗模板類,主要用來建立視窗介面類,並且使用類cricheditctrl作為基類,類cricheditctrl主要呼叫windows裡的編輯類。類cricheditcommands實現richedit的命令功能。menu::delegate類是實現智慧型下拉式選單的提示介面。因此,要學習開發chrome,需要先學習wtl的開發,它是一套基於模板的視窗框架。下一次再仔細地分析自動完成的實現過程。

谷歌瀏覽器的原始碼分析 8

上一次說到處理wm char訊息,當使用者每鍵入乙個字元時,萬能連線框就會去進行一次查詢的過程,然後把智慧型提示資訊顯示出來。說到autocompleteedit handlekeystroke函式的操作,那麼它為什麼需要凍結這個函式的使用呢?現在就來分析這部份的內容。如下 scopedfreeze...

谷歌瀏覽器的原始碼分析 30

上次說到函式winhttpreaddata 通過上面的函式可以看到,當資料接收完成後,就會呼叫docallback函式處理接收到的資料。docallback函式的 如下 看到這裡又是乙個 函式c run的通知,它是呼叫開始建立這個連線時設定的 物件。如果是http請求,那麼這個請求 函式是物件url...

谷歌瀏覽器的原始碼分析 32

上一次說到在類resourcedispatcher會收到接收http資料訊息,並進一步處理資料。那麼resourcedispatcher類又把接收到的資料發往何處呢?這是需要我們去搞懂它的。通過進一步的跟蹤,會發現在resourcedispatcher onreceiveddata函式呼叫webco...