duilib初学者可能总会有这样的疑问:为什么我获取的控件位置或者大小和我想象中的不一样?
位置不一样可能的原因:
1.xml中直接配置的位置和实际显示之后的位置确实是不一样的.xml中设置的位置(相对或绝对)都是基于他的父控件左上角.而实际显示之后获取的位置,是基于整个客户区的左上角;
2.控件的位置的计算都是在WM_PAINT消息处理中进行的,在这个消息处理之前,获取到的位置都是旧的;
大小不一样可能的原因:
1.参考上面第2条,大小的计算也是在WM_PAINT消息处理中进行的;
2.有其他你忽略的干扰项.比如子控件采用相对布局时父控件有inset,或者父控件的大小有限;
3.可能只是因为其他控件的遮盖或者超出了父控件而不显示,看起来大小不对;