首页
社区
课程
招聘
[求助]delphi 的控件
发表于: 2009-6-7 10:35 3413

[求助]delphi 的控件

2009-6-7 10:35
3413
求助一下 Delphi的 Label 要怎么获取他的内容呢
HOOK DrawTextA 可以获取到内容 但是依赖WM_PAINT消息,所以效果不理想

这个Delphi函数
TContrl.SetTextBuf( ID, "string");
TControl.GetTextBuf?
是怎么实现的呢, 还有那个ID是怎么回事.

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 296
活跃值: (89)
能力值: ( LV15,RANK:340 )
在线值:
发帖
回帖
粉丝
2
直接看Controls.pas里的源码:
function TControl.Perform(Msg: Cardinal; WParam, LParam: Longint): Longint;
var
Message: TMessage;
begin
Message.Msg := Msg;
Message.WParam := WParam;
Message.LParam := LParam;
Message.Result := 0;
if Self <> nil then WindowProc(Message);
Result := Message.Result;
end;

procedure TControl.SetTextBuf(Buffer: PChar);
begin
Perform(WM_SETTEXT, 0, Longint(Buffer));
Perform(CM_TEXTCHANGED, 0, 0);
end;

function TControl.GetTextBuf(Buffer: PChar; BufSize: Integer): Integer;
begin
Result := Perform(WM_GETTEXT, BufSize, Longint(Buffer));
end;


其实就是通过 WM_SETTEXT/WM_GETTEXT 设置和获取文字信息。
另外,TControl.SetTextBuf() 没有ID
2009-6-7 12:38
0
游客
登录 | 注册 方可回帖
返回
//