duilib中获取的控件的位置或者大小不对的可能的原因

版权声明:本文为博主原创文章,欢迎交流学习 https://blog.csdn.net/u012081284/article/details/73201463

duilib初学者可能总会有这样的疑问:为什么我获取的控件位置或者大小和我想象中的不一样?

位置不一样可能的原因:

1.xml中直接配置的位置和实际显示之后的位置确实是不一样的.xml中设置的位置(相对或绝对)都是基于他的父控件左上角.而实际显示之后获取的位置,是基于整个客户区的左上角;

2.控件的位置的计算都是在WM_PAINT消息处理中进行的,在这个消息处理之前,获取到的位置都是旧的;

大小不一样可能的原因:

1.参考上面第2条,大小的计算也是在WM_PAINT消息处理中进行的;

2.有其他你忽略的干扰项.比如子控件采用相对布局时父控件有inset,或者父控件的大小有限;

3.可能只是因为其他控件的遮盖或者超出了父控件而不显示,看起来大小不对;

猜你喜欢

转载自blog.csdn.net/u012081284/article/details/73201463
今日推荐