在没有uses forms的情况下,怎么获得自己的handle 在没有uses forms的情况下,怎么获得自己的handle 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);begin self.Handle 就是自已end;end. 楼上答非所问,楼主明明说不uses forms 没有uses forms的情况下,怎么获得自己的handle?/说的不大明白,你到底是什么意思喔,直接用self指针向楼上那样就可以了呀。你说的是什么意思嘛 在不uses forms单元情况下,你得到的对象肯定不能用TForm类型来传咯。可以试试这样:TControl(self).Handle或TWinControl(self).Handle 不懂不懂。self就是self。与forms有关系吗?self在ebx寄存器内。不uses任何文件self都可以用。而且Handle这个属性是TWinControl的。只要uses Controls就可以了。另外,反问一下,如果你用VC+SDK怎么得到Handle?而不是用delphi的Vcl。 一个缺省的delphi工程,delphi会自动生成两个窗体,一个是你的主程序窗体,就是你的Project单元中的Application,该窗体运行时不可见,但表现为任务栏上的那个按钮,可以用Application这个全局变量访问,其句柄是Application.Handle。另一个就是Form1,就是你设计和运行时看到的那个窗体,其句柄是Form1.Handle。这两个单元都要uses forms的。如果不用forms,那么你要么不用窗体,要么自己创建窗体,这样你更应该早知道和拥有窗体句柄。如果根本没有窗体,那可以用GetCurrentProcess来获得当前进程的句柄。 用Filter过滤掉的数据,想重新把全部数据在DBGrid中显示出来 控件字符问题 散分 运行程序时,出现了'read of address 000000D2'错误,哪位高手能指导我下? delphi中怎么把一个整形数据转换成地址,赋值给一个数组作为首地址 现在。NET很流行 不过安全是个问题 我有个入门的问题要问 是有关权限的 如何将汉字转换成拼音,100分 诚聘delphi高手 一个删除LISTVIEW的ITEMS的问题。。。 如何让公网和局域网所有电脑都可以访问该mssql数据库? 引用ActiveXForm的错误 异常的退出
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
self.Handle 就是自已end;end.
可以试试这样:
TControl(self).Handle
或TWinControl(self).Handle
另外,反问一下,如果你用VC+SDK怎么得到Handle?而不是用delphi的Vcl。
另一个就是Form1,就是你设计和运行时看到的那个窗体,其句柄是Form1.Handle。
这两个单元都要uses forms的。
如果不用forms,那么你要么不用窗体,要么自己创建窗体,这样你更应该早知道和拥有窗体句柄。
如果根本没有窗体,那可以用GetCurrentProcess来获得当前进程的句柄。