(百思不得其解)如何根据HWND句柄获取TForm指针(100分)?

hustwjz 2006-02-27 11:01:33
使用API时面对的都是HWND,但是如何根据HWND得到该窗体的TForm指针?
在帮助里面只有TForm.Handle,但是它是readonly,有没有类似于mfc中的FromHandle方法?
...全文
182 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hustwjz 2006-02-28
  • 打赏
  • 举报
回复
问题解决了
linzhengqun(风。我回来了),我写了一个多语言支持的玩艺,只需要调用一个函数就可以让你的程序自动支持多语言,包括各种弹出对话框,甚至是出错对话框。
谢谢你的提示
linzhengqun 2006-02-27
  • 打赏
  • 举报
回复
全局类Screen中有一个Forms,保存工程所有的窗口
遍历比较即可。
GARNETT2183 2006-02-27
  • 打赏
  • 举报
回复
关注。。。
勉励前行 2006-02-27
  • 打赏
  • 举报
回复
做一個偏移就行了。
但要先確認這個 Form.Handle = HandleNow ;
liangyong007a 2006-02-27
  • 打赏
  • 举报
回复
可读也能取值啊
linzhengqun 2006-02-27
  • 打赏
  • 举报
回复
所有的窗体创建之后。。。
这个有问题的,尽量遵循在需要的时候才创建的原则。

另外,需要要用到API HOOK吗,VCL的Form类和API的窗口句柄是两个层次的问题,千万不要混了哦。
hustwjz 2006-02-27
  • 打赏
  • 举报
回复
我写了一个API Hook,Hook了CreatWindowEx函数
我希望在所有的窗体创建之后显示之前作一些特殊的处理,但是通过CreateWindowEx仅仅可以获得HWND,如果无法转换为TForm就无法作任何操作
linzhengqun 的方法或许可行

828

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧