如何从句柄得到控件的名字指针?(100分)

  • 主题发起人 主题发起人 defisky
  • 开始时间 开始时间
D

defisky

Unregistered / Unconfirmed
GUEST, unregistred user!
问题是这样的,我用CreateWindow创建了一个输入IP地址的控件放在窗体上,返回了一个HWND句柄,现在我需要设置它的TabOrder,就要得到它的指针才行,怎样才能得到?或者有什么别的办法?
 
FindControl()函数
或TForm.Controls遍历。
 
用名字指针好象没有办法得到吧
 
FindControl找不着,返回nil
TForm.Controls里面没有
吐血
 
是不是你这个控件的parent不是Tform要考虑次序,用contols按classname遍历
,找到不就完了
 
首先,尽管我们在建立对话框资源的时候,每个控制都有一个ORDER属性,但它只不过是
对话框消息处理函数的正常处理顺序而已,而DELPHI用面向对象的方式定义了全新的消息
处理函数的框架,这更使这个属性变得不重要了。
如果只是用CreateWindow直接创建的“控件”,注意这可不同于其它的继承于TControl的
控件,FindControl()函数或TForm.Controls遍历都是不能找到的。原因是它没有按DELPHI
一般控件的做法,将自已加入到TWinControl.FTabList当中,但它也是可以被使用的,这
就要给它建一个消息处理函数,同时,在DELPHI中的TAB ORDER功能是由
TWinControl.FTabList代劳的,而这个控件又没有被加入,所以不必考虑它的消息循环次
序,所以可以放心地用WIN API函数SETFOCUS(HWND)来给它设置输入焦点。而用其它的控
件.SETFOCUS(VCL控件方法),来使它失去焦点。
 
接受答案了.
 
后退
顶部