首页
社区
课程
招聘
[讨论]Delphi 程序中的按钮是否没有ID值?
发表于: 2007-12-24 15:39 4318

[讨论]Delphi 程序中的按钮是否没有ID值?

2007-12-24 15:39
4318
今天突然发现一个怪现象:
在用工具查看Delphi编译程序的按钮ID值时,发现和其窗口句柄是完全一样,而且每次运行都不一样,现在我不得怀疑,Delphi编译程序的按钮是否没有ID值

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 1
支持
分享
最新回复 (2)
雪    币: 2384
活跃值: (766)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
2
Delphi创建的按钮句柄就是他的ID值。下面是Delphi源代码中按钮生成的其中一部分代码:
if (GetWindowLong(FHandle, GWL_STYLE) and WS_CHILD <> 0) and
      (GetWindowLong(FHandle, GWL_ID) = 0) then
      SetWindowLong(FHandle, GWL_ID, FHandle); // 在这里Delphi将按钮的ID值改成句柄值。
end;
2007-12-26 08:22
0
雪    币: 266
活跃值: (52)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
3
原来如此, 那么Delphi编译出程序窗体上控件的ID值就不是固定的了.

如果这样, 第三方程序若想操作这个窗体上的控件的话,那就有点麻烦了, 那就只能通过枚举子窗体的方式来实现了.
2007-12-26 17:32
0
游客
登录 | 注册 方可回帖
返回
//