如何给TWinControl 赋值 文本信息【散粪啦】

hangzhou_hammer 2008-06-13 10:56:44
为什么它的 GetTextBuf() 不行?

有edit combobox 等
...全文
127 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
blazingfire 2008-06-14
  • 打赏
  • 举报
回复

type
//为了能访问protected成员,继承一下TWinControl
TWinControlCrack = class(TWinControl);

procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
begin
//把所有TWinControl的Text设为blazingfire;text属性通过
//把Wincontrol强制转化为TWinControlCrack才能访问
for i := 0 to ControlCount - 1 do
if Controls[i] is TWinControl then
TWinControlCrack(Controls[i]).Text := 'blazingfire';
end;
hsmserver 2008-06-14
  • 打赏
  • 举报
回复
赋值的话也可以用
Edit1.SetTextBuf(pchar('接分'));
ShowMessage(Edit1.Text);

//GetTextBuf是获取
hsmserver 2008-06-14
  • 打赏
  • 举报
回复
var
p:array[0..255] of Char;
begin
Edit1.GetTextBuf(p,255);
//如果想传字符串参数的话,可以用这种方式写
//TWinControl(FindComponent('Combobox1')).GetTextBuf(p,255);
ShowMessage(p);
end;
喝口水 2008-06-14
  • 打赏
  • 举报
回复
procedure SetControlText(aText:String;sControl:TWinControl)
begin
if sControl is TEdit then
TEdit(sControl).Text:=aText;
if sControl is TCombobox then
TCombobox(sControl).text:=aText;
end;
xingyunmm 2008-06-14
  • 打赏
  • 举报
回复
procedure SetControlText(aText:String;sControl:TWinControl)
begin
if sControl is TEdit then
TEdit(sControl).Text:=aText;
end;

5,939

社区成员

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

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