Delphi 中有没有类时VC中的Attach方法?

gamestory 2008-10-19 10:12:05
刚接触Delphi,望高手解答。

例如,在VC中,我获取了另外一个窗口中的某个EDIT控件的HANDLE,在本地窗口中我可以声明一个CEdit类,则可以通过该类的Attach方法将HANDLE和本地变量关联起来,通过变量可以调用类方法。

HANDLE hEdit; //设已经成功获取了另一个窗口中的Edit句柄
CEdit m_edit;
m_edit.Attach(hEdit);
//使用Attach之后,就可以通过m_edit直接操作另外一个窗口中的Edit控件,如下面此局可将Edit设为只读
m_edit.SetReadOnly(TRUE);


那么,在Delphi中,TEdit有没有类似的方法将HANDLE和类关联?

var
m_edit:TEdit;
hEdit:HANDLE;
begin
//??如何关联
m_edit.ReadOnly:=TRUE;
end;


(不要说调用SendMessage)
...全文
128 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
cncharles 2008-10-19
  • 打赏
  • 举报
回复
可以的

var
hEdit: THandle;
mEdit: TEdit;
Control: TControl;
begin
hEdit := Edit1.Handle;
Control := FindControl(hEdit);
if not (Control is TEdit) then
Exit;
mEdit := TEdit(Control);
mEdit.ReadOnly := true;
end;
  • 打赏
  • 举报
回复
没见过,
还是用SendMessage吧
lake_cx 2008-10-19
  • 打赏
  • 举报
回复
貌似没有。。。
不知道你什么地方需要这么做?

5,391

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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