
有谁知道Delphi中"窗口"的创建过程
推荐于2016-10-28 · 知道合伙人软件行家
关注

展开全部
补充一点:
其他的控件比如 TEdit 等都是 TWinControl 的子孙,构造的顺序都差不多,
关键的一点是:
对 TWinControl.Handle 属性的第一次访问会触发对窗口句柄的真正创建。
即:Handle->GetHandle->HandleNeeded
关于这一点,可以察看 Delphi Help->HandleAllocated 方法的注解。
上文只是剖析了 TForm 的构造过程,其它类似控件可能有所差别,其它控件并不
一定是在构造 TControlCanvas 时才第一次访问 TWinControl.Handle 的,也许
是在其他地方,不过没有必要都写出来。
Good luck!
其他的控件比如 TEdit 等都是 TWinControl 的子孙,构造的顺序都差不多,
关键的一点是:
对 TWinControl.Handle 属性的第一次访问会触发对窗口句柄的真正创建。
即:Handle->GetHandle->HandleNeeded
关于这一点,可以察看 Delphi Help->HandleAllocated 方法的注解。
上文只是剖析了 TForm 的构造过程,其它类似控件可能有所差别,其它控件并不
一定是在构造 TControlCanvas 时才第一次访问 TWinControl.Handle 的,也许
是在其他地方,不过没有必要都写出来。
Good luck!
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询