在其他应用程序窗口上创建按钮
我编写了下面的代码来在计算器上创建一个额外的按钮,但该按钮不显示:
var
Object1 : TButton ;
Hand: THandle;
begin
Hand:= FindWindow('CalcFrame', 'Calculator');
Object1 := TButton.CreateParented(Hand);
Object1.Show ;
end;
使用 EnumChildWindow API 函数运行上述代码后,我获得了计算器上的控件,并在 EnumChildWindow 返回的控件列表中看到了创建的按钮,但为什么创建的按钮不显示吗?
我记得我在 Windows XP 上使用此代码并且它工作没有问题,但现在在 Windows 7 中创建的按钮不会出现。
I wrote below code to create an extra button on Calculator, but the button don't show:
var
Object1 : TButton ;
Hand: THandle;
begin
Hand:= FindWindow('CalcFrame', 'Calculator');
Object1 := TButton.CreateParented(Hand);
Object1.Show ;
end;
I get the controls on the calculator after running the above code using EnumChildWindow API function and see the created button in control list that EnumChildWindow returns, but why does the created button not show ?
As I remember I use this code on windows XP and it works without problem but now in windows 7 the created button doesn't appear.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Win7中的计算器和画图是
使用 .NET 和 WPF 重建,以及
没有办法“联系”
通过本机代码的 .NET 代码
尤其是 WPF,它使用不同的
绘制其控件的方法。
编辑:
使您的代码适用于本机
应用程序你可以使用这样的代码:
calculator and Paint in Win7 are
rebuilt using .NET and WPF, and
there is no way to "contact" with
.NET code through native code
especially WPF which use different
way to paint its controls.
edit:
to make your code work for native
applictions you can use code like this:
您必须将
Visible:= False
设置为可见。you must make
Visible:= False
.