问题看似简单,却难解决!!不信,您试一试/delphi

sungw 2000-11-19 09:09:00
一个简单的应用中,一个form,上面放一个button,一个Label,Label的
caption属性是‘抓住我试试看‘。 你所要做的是,按下button,抓住这个
caption,当然,不允许直接用Lable.caption属性。

...全文
292 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
tibetty 2000-11-28
  • 打赏
  • 举报
回复
确实没有handle的说. zswang想当然了一把, TStaticText才有Handle
GoodHope 2000-11-28
  • 打赏
  • 举报
回复
Lable这种没有句柄的构件实际上是利用父构件的Handle来实现自己的。使用传统的API函数是没有办法的。在同一个程序中可以使用父WinContorl的ControlAtPos来找到这个构件。
Kingron 2000-11-21
  • 打赏
  • 举报
回复
2 zswang:
呵呵,你没有试过吧?label是没有handle的。
Lhasa_MM 2000-11-20
  • 打赏
  • 举报
回复
“按下button,抓住这个caption”什么意思呀?
Nicrosoft 2000-11-20
  • 打赏
  • 举报
回复
GetWindowText
Kingron 2000-11-20
  • 打赏
  • 举报
回复
用label.GetTextBuf。
王集鹄 2000-11-20
  • 打赏
  • 举报
回复
var
Len: Integer;
PC: PChar;
begin
Len := Succ(GetWindowTextLength(Lable1.Handle));
GetMem(PC, Len);
GetWindowText(Lable1.Handle, PC, Len);
S := Strpas(PC);
FreeMem(PC, SizeOf(PC));
end;
//真的需要吗
//真的需要你就说嘛
//你不说,我们怎么知道你需要呢
//你即使这样深情的望着显示器,你也是要说你需要的
//你需要大家会告诉你
//不会你不需要我们偏要回答你
//大家总要讲点到理吧
sungw 2000-11-20
  • 打赏
  • 举报
回复
对不起,我没讲清楚。
“抓住label.caption"
的意思是:
var s:string;
(不能直接用s:=label.caption,更不能s:='抓住我试试看') 想办法求出label.caption的值.
使得 s=label.caption成立.
应该明白我的意思了吧?

如果成功了,请进一步思考:
从另外一个程序,抓住这个程序里的label.caption.
有什么用,不说也明白了吧?




kxy 2000-11-20
  • 打赏
  • 举报
回复
GetWindowLong
cwhelucky 2000-11-20
  • 打赏
  • 举报
回复
用api来足可以实现
数字蛋糕 2000-11-19
  • 打赏
  • 举报
回复
不明白什么意思。什么叫“抓住”?

5,379

社区成员

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

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