有没有什么API函数,或什么方法,列出主窗口的所有控件的信息,和类的信息,答对有分.看看这条题有无高手能回答.

torrentwang 2001-06-01 11:33:00
有没有什么API函数,或什么方法,列出主窗口的所有控件的信息,和类的信息,答对有分.
看看这条题有无高手能回答.

...全文
93 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
torrentwang 2001-06-01
  • 打赏
  • 举报
回复
我指的是把DLL非模态的窗口的句柄赋给panel并已实现了,
Kingron 2001-06-01
  • 打赏
  • 举报
回复
GetClassInfo()
torrentwang 2001-06-01
  • 打赏
  • 举报
回复
主窗体的panel中有几个DLL非模态的窗口,我想列出来,用菜单进行几个DLL窗体间的切换,
常规的方法是不行的,我试过多种方法.还是不行.

一句话不是高手是不可能解决的,很希望有人能提出建议
Mickey_Chue 2001-06-01
  • 打赏
  • 举报
回复
Form1.ControlCount 为窗口Form1内控件总数
用Form1.Controls[Index]可以访问所有FORM1中的控件。


musicwind 2001-06-01
  • 打赏
  • 举报
回复

ControlCount
Controls
ComponentCount
Components
TComponent.Classname
TComponent.[..]
以及TComponent的其他一些类方法.
torrentwang 2001-06-01
  • 打赏
  • 举报
回复
控件信息当然是还包括动态创建的控件,
回答的有价值再给分
c_hk 2001-06-01
  • 打赏
  • 举报
回复
有什么用???
torrentwang 2001-06-01
  • 打赏
  • 举报
回复
谢谢回答,我现在就来试试,现在加分
BaldZhang 2001-06-01
  • 打赏
  • 举报
回复
你这样做很危险

Delphi有自己的一套机制管理元件之间的Owner关系和Control之间的父子关系,
象你这样直接把DLL中的一个窗口放在Panel上,就要自己时刻小心,不要发生
什么释放了不该释放的资源等等问题,

祝你好运。

你的问题和你后来的描述似乎根本就文不对题。

var
i: Integer;
comp: Tcomponent;
parentclass: TClass;

for i := 0 to Form1.ComponentCount - 1 do
begin
Comp := Form1.Components[i];
//可用的方法如下:
ShowMessage(Comp.ClassName);
ShowMessage(Comp.Name);
ParentClass := Comp.ClassParent;
while not(ParentClass is TClass) do
begin
ShowMessage(ParentClass.Classname);
ParentClass := ParentClass.ClassParent;
end;
if Comp is TWinControl then
ShowMessage(TWinControl(Comp).Handle);
...
end;

1,184

社区成员

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

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