首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >浏览器和Windows消息传递

浏览器和Windows消息传递
EN

Stack Overflow用户
提问于 2009-11-23 16:34:33
回答 2查看 75关注 0票数 0

我在问自己浏览器是怎么工作的。例如,浏览器如何指示操作系统将鼠标指针从箭头改为手形(IDC_HAND)。在桌面应用程序中,我知道使用的是windows消息(对),但是它是如何在浏览器中发生的呢?在这种情况下,Spy++似乎没有捕捉到任何鼠标指针消息。你能帮我解释一下吗?

我正在尝试构建一个C#应用程序,它将检测鼠标指针的类型。

EN

回答 2

Stack Overflow用户

发布于 2009-11-23 16:41:55

浏览器视区是一个简单的窗口,几乎没有任何标准事件。页面是按像素呈现的,稍后将其视为位图。浏览器构建网页控件和显示元素的层次结构,并将其保存在内存中。每当鼠标在页面上移动时,浏览器算法都会搜索此层次结构,以确定这些特定坐标是否属于按钮或链接,然后将光标更改为指针。简而言之,这就是浏览器引擎的全部内容。将HTML解析为控件的层次结构,然后解析CSS并更新这些元素的属性,然后将考虑到其属性的控件呈现到视口中,然后处理用户输入,并在需要时发起请求。浏览器引擎还执行JavaScript代码并对文档结构执行操作。

还要记住,FireFox也存在于Linux上,在这种情况下,浏览器开发人员使用标准的windows事件是没有意义的。一些基本的初始化代码肯定是与平台相关的,但在准备好窗口并通过一些抽象层将用户输入转发到核心之后,浏览器引擎将主导整个过程,而不关心底层操作系统及其事件系统。

票数 1
EN

Stack Overflow用户

发布于 2009-11-23 16:43:50

可以为每个窗类定义特定的光标。请参阅function RegisterClassEx和structure WNDCLASSEX的文档

HTH。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1781806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档