日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

谷歌瀏覽器的源碼分析(3)

系統(tǒng) 2354 0

前面修改了 chrome 關(guān)于對(duì)話框,并且編譯顯示出來了,那么它是在那里調(diào)用顯示的呢?現(xiàn)在就帶你去了解它。由于它是界面顯示,那么不用想,直接到界面的工程里查找它,也就是到目錄 src/chrome/browser/views 里查看到文件 about_chrome_view.cc

?

這個(gè)文件里聲明了一個(gè)類 AboutChromeView ,它就是主要負(fù)責(zé)初始化對(duì)話框、布局、顯示字符串等等,比如顯示“關(guān)于可樂米”的字符串,就是這樣實(shí)現(xiàn)的,先調(diào)用函數(shù):

#001 ? std::wstring AboutChromeView::GetWindowTitle() const {

? return l10n_util::GetString(IDS_ABOUT_CHROME_TITLE);

}

?

獲取資源里的對(duì)話框標(biāo)題,接著:

?

谷歌瀏覽器的源碼分析(3) 在上面的斷點(diǎn)里就是響應(yīng)菜單,然后創(chuàng)建關(guān)于對(duì)話框,主要調(diào)用函數(shù) CreateChromeWindow 來創(chuàng)建窗口,把 AboutChromeView 窗口綁定到這個(gè)窗口類型里。由于可多米都是統(tǒng)一的窗口樣式,那么它是通過創(chuàng)建一樣的窗口類 CustomFrameWindow 來實(shí)現(xiàn)的。

?

為了顯示窗口的標(biāo)題,是通過下面的函數(shù)關(guān)系調(diào)用:

1. ? Browser::ExecuteCommand ? 瀏覽器執(zhí)行菜單命令。

2. ? ChromeViews::Window::CreateChromeWindow ? 創(chuàng)建窗口。

3. ? ChromeViews::CustomFrameWindow::Init 初始化窗口。

4. ? ChromeViews::Window::Init ? 初始化窗口標(biāo)題。

5. ? AboutChromeView::GetWindowTitle ? 從關(guān)于對(duì)話框獲取標(biāo)題。

?

理解上面的函數(shù)關(guān)系調(diào)用就知道怎么樣顯示標(biāo)題了,因此也知道關(guān)于對(duì)話框所有內(nèi)容是由類 AboutChromeView 來管理的,但窗口的樣式是由 CustomFrameWindow 類來管理的。

?

通過上面的分析,了解了關(guān)于對(duì)話框的標(biāo)題顯示過程,你想修改成什么樣的內(nèi)容,就要看你的需要了。下一次再仔細(xì)地分析有關(guān)于對(duì)話框怎么樣組織其它信息,比如重要的升級(jí)功能。

?

谷歌瀏覽器的源碼分析(3)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 岢岚县| 独山县| 隆林| 柳州市| 嘉兴市| 山丹县| 承德市| 壶关县| 札达县| 嘉兴市| 宜宾县| 灵川县| 新竹市| 肥西县| 资源县| 金塔县| 阿克| 湘潭县| 福海县| 贵南县| 绥中县| 临江市| 桐城市| 昌吉市| 侯马市| 祥云县| 淮阳县| 河南省| 中阳县| 岐山县| 五寨县| 岳阳市| 西乌珠穆沁旗| 栾城县| 郁南县| 吉木乃县| 利川市| 湟中县| 集贤县| 栾城县| 堆龙德庆县|