Chinaunix首页 | 论坛 | 博客
  • 博客访问: 744382
  • 博文数量: 769
  • 博客积分: 6000
  • 博客等级: 准将
  • 技术积分: 4985
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-15 16:37
文章分类

全部博文(769)

文章存档

2011年(1)

2008年(768)

我的朋友

分类:

2008-10-15 16:39:42

  前面修改了chrome关于对话框,并且编译显示出来了,那么它是在那里调用显示的呢?现在就带你去了解它。由于它是界面显示,那么不用想,直接到界面的工程里查找它,也就是到目录srcchromebrowserviews里查看到文件about_chrome_view.cc.
 
  这个文件里声明了一个类AboutChromeView,它就是主要负责初始化对话框、布局、显示字符串等等,比如显示“关于可乐米”的字符串,就是这样实现的,先调用函数:
 
 #001 std::wstring AboutChromeView::GetWindowTitle() const {
 return l10n_util::GetString(IDS_ABOUT_CHROME_TITLE);
}


  获取资源里的对话框标题,接着:
 谷歌浏览器的源码分析(2)

  在上面的断点里就是响应菜单,然后创建关于对话框,主要调用函数CreateChromeWindow来创建窗口,把AboutChromeView窗口绑定到这个窗口类型里。由于可多米都是统一的窗口样式,那么它是通过创建一样的窗口类CustomFrameWindow来实现的。
 
  为了显示窗口的标题,是通过下面的函数关系调用:
 
  1. Browser::ExecuteCommand 浏览器执行菜单命令。
 
  2. ChromeViews::Window::CreateChromeWindow 创建窗口。
 
  3. ChromeViews::CustomFrameWindow::Init 初始化窗口。
 
  4. ChromeViews::Window::Init 初始化窗口标题。
 
  5. AboutChromeView::GetWindowTitle 从关于对话框获取标题。
 
  理解上面的函数关系调用就知道怎么样显示标题了,因此也知道关于对话框所有内容是由类AboutChromeView来管理的,但窗口的样式是由CustomFrameWindow类来管理的。
 

[1]    

【责编:huangchunmei】

--------------------next---------------------

阅读(327) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~