如何使用Delphi在非应用程序窗口上生成按钮控件?

更新于
2026-10-04 16:35:04
1阅读来源:SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计219个文字,预计阅读时间需要1分钟。

我编写了以下代码在Calculator上创建一个额外的按钮,但按钮没有显示:var Object1: TButton; Hand: THandle; begin Hand :=FindWindow('CalcFrame', 'Calculator'); Object1 :=TButton.CreateParented(Hand); Object1.Sh

我写了下面的代码来在Calculator上创建一个额外的按钮,但是按钮没有显示:

var Object1 : TButton ; Hand: THandle; begin Hand:= FindWindow('CalcFrame', 'Calculator'); Object1 := TButton.CreateParented(Hand); Object1.Show ; end;

在使用EnumChildWindow API函数运行上面的代码后,我得到了计算器上的控件,并看到EnumChildWindow返回的控制列表中创建的按钮,但为什么创建的按钮没有显示?

我记得我在Windows XP上使用这个代码,它没有问题,但现在在Windows 7中没有出现创建的按钮.

Win7中的计算器和Paint是
使用.NET和WPF重建,以及
没有办法“联系”
.NET代码通过本机代码
特别是使用不同的WPF
绘制控件的方法.

编辑:
使您的代码适用于本机
您可以使用以下代码的应用程序:

hand := FindWindow('TForm1','Form1'); object1 := TButton.Create(self); object1.ParentWindow := hand;

本文共计219个文字,预计阅读时间需要1分钟。

我编写了以下代码在Calculator上创建一个额外的按钮,但按钮没有显示:var Object1: TButton; Hand: THandle; begin Hand :=FindWindow('CalcFrame', 'Calculator'); Object1 :=TButton.CreateParented(Hand); Object1.Sh

我写了下面的代码来在Calculator上创建一个额外的按钮,但是按钮没有显示:

var Object1 : TButton ; Hand: THandle; begin Hand:= FindWindow('CalcFrame', 'Calculator'); Object1 := TButton.CreateParented(Hand); Object1.Show ; end;

在使用EnumChildWindow API函数运行上面的代码后,我得到了计算器上的控件,并看到EnumChildWindow返回的控制列表中创建的按钮,但为什么创建的按钮没有显示?

我记得我在Windows XP上使用这个代码,它没有问题,但现在在Windows 7中没有出现创建的按钮.

Win7中的计算器和Paint是
使用.NET和WPF重建,以及
没有办法“联系”
.NET代码通过本机代码
特别是使用不同的WPF
绘制控件的方法.

编辑:
使您的代码适用于本机
您可以使用以下代码的应用程序:

hand := FindWindow('TForm1','Form1'); object1 := TButton.Create(self); object1.ParentWindow := hand;