Delphi10.1下FormCreate中动态创建的控件在移动端显示不对的解决办法

来源:互联网 发布:java 触发器 开源 编辑:程序博客网 时间:2024/06/06 00:59

问题描述:最近由于项目原因,需要动态创建控件到窗体上,我原本的处理方式是在FormCreate里创建,FormResize里处理尺寸变换。PC端没有问题,编译到Android端的时候发现没有按照预想的大小显示,而是按照传入的大小和位置显示了。

     跟踪发现,初始化时,在PC端事件调用顺序为:FormCreate -> FormResize,其他继承自TControl的Resize不会调用,而到了Android端调用顺序则不同,它会先从外到内一层层调用控件的Resize,然后调用FormCreate,之后是FormResize,也就是说如果动态创建的控件作为窗体上另一个控件的子控件,并且这个控件的Resize没有被触发的话,我动态创建的控件的Resize也就没法触发。

    遇到这种情况,我的解决办法是手动触发包裹动态创建的控件的父控件的Resize,触发方式或者改变其大小或者改变其对齐方式,均可。

   以上纯属个人经验,如有不对,欢迎批评指教。


  

阅读全文
0 0
原创粉丝点击