首页 > 解决方案 > 浏览器标签是子窗口吗?

问题描述

我最近一直在涉足在 win32 中编写应用程序(我运行的是 win10)。Windows 具有父窗口和子窗口的概念,每个窗口都可以定制以执行各种操作。

这种结构在像 chrome/firefox 这样的浏览器中是什么样的?我在某处读到浏览器没有win32意义上的“窗口”概念。但是,Spy++ 显示浏览器窗口的每个选项卡都有一个唯一的窗口句柄(可能用于与窗口交互)。但是“标签句柄”没有任何其他子项。

如果我们考虑一个网页被分成多个部分,每个部分都有自己的滚动条,浏览器如何知道哪个滚动条处于活动状态?我想一旦向浏览器发送滚动消息(在 win32 意义上),浏览器可能会使用鼠标指针位置来解决这个问题。

从根本上说,浏览器使用什么样的代码结构?

一个相关但遥远的问题 - 如何在 Windows 中实现没有焦点功能的滚动?我相信这个问题的答案从第一个开始,但如果不是,我将把它作为一个单独的问题。

谢谢!

PS。我只知道C++。

聚苯乙烯。可以让我入门的资源链接同样重要且非常感谢。

在此处输入图像描述

标签: winapibrowserscroll

解决方案


推荐阅读