有了Handle,将要怎样?

sean717 2001-07-20 12:04:08
我用delphi编程时。得到一个窗体的handle以后,能否得到此handle对应窗体(delphi里称form)在程序设计时的一些属性呢??
比如有form1以及下列代码:
wnd:handle;
wnd:=form1.handle;

拿着wnd,我怎么修改form1的一些属性,比如name,font等等。
:)
...全文
126 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
火鸟李国平 2001-07-21
  • 打赏
  • 举报
回复
你有了handle,你可能通过sendmessage对其进行大量操作如:
SendMessage(handle, WM_SETFONT, hFont, 0);
xzgyb 2001-07-21
  • 打赏
  • 举报
回复
我想这样应该行吗
for i:=0 to Screen.FormCount-1 do
if Screen.Forms[i].name='drawer2' then
Screen.Forms[i].font:=你的值

sean717 2001-07-21
  • 打赏
  • 举报
回复
:(
myxfang 2001-07-20
  • 打赏
  • 举报
回复
应该是使用winapi函数
myxfang 2001-07-20
  • 打赏
  • 举报
回复
跟winapi通信
kiss2 2001-07-20
  • 打赏
  • 举报
回复
你是想改任何一个窗口的属性吧,不可能的
shenxiaohu 2001-07-20
  • 打赏
  • 举报
回复
你说得清楚一点
xzgyb 2001-07-20
  • 打赏
  • 举报
回复
是呀,直接改呗,不过name别改了
leeyansheng 2001-07-20
  • 打赏
  • 举报
回复
你到底想干什么
chechy 2001-07-20
  • 打赏
  • 举报
回复
干吗需要Handle,你直接改不就行了。
name := 'your name';
font.Height := 14;
sean717 2001-07-20
  • 打赏
  • 举报
回复
能直接改我干吗问啊??
我再说清楚一些,一般程序里的form都是这样定义的:
type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
这样就可以通过类似formname.font这样的方法来修改某项属性。
但是我的这些form都是动态的用create(self)生成的。
代码:
for i:=1 to count-1 do
begin
with TForm3.Create(self) do
name:='drawer'+IntToStr(i);
show;
end;
end;
没有申明form实例的
但是我试过了,可以成功生成。

所以就不能通过formname.font这样的方法来修改属性。这一点在后面的程序中就显得很麻烦。所以我想能否得到handle以后,用某个方法修改属性。

5,392

社区成员

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

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