作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我怎样才能投出 WNDPROC
到 TWndMethod
到目前为止,我尝试了这个,但给我一个 invalid typecast
错误。
TWndMethod(Pointer(GetWindowLong(FHandle, GWL_WNDPROC)));
最佳答案
如果要子类化窗口句柄(使用 SetWindowLong)来处理 TWndMethod 函数中的窗口消息,则不应将 GetWindowLong(FHandle, GWL_WNDPROC) 返回的值强制转换为 TWndMethod。您应该使用 MakeObjectInstance 函数来获取可以传递给 SetWindowLong 的值。阅读 Sertac Akuyz 的答案以了解总体思路。
请注意,在 Delphi 应用程序中很少需要对窗口句柄进行子类化。 Delphi 提供了几种其他方式来干预窗口消息处理,它们更加简单和安全。
关于delphi - 我如何将 WNDPROC 转换为 TWndMethod,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4341366/
我是一名优秀的程序员,十分优秀!