duilib代码设置控件位置

 时间:2026-02-16 04:21:40

1、duilib代码设置控件怎么设置呢?下面就跟小编一起来看一看具体的操作吧。

duilib代码设置控件位置

2、duilib中,我们往往在InitWindow虚函数中获取指定控件位置,调整控制其他控件大小等,但是使用getpos获取的矩形位置为0,所有我们没法在其中最我们自己想要的操作,经过duilib的调试跟踪发现:在窗口创建后第一次刷屏WM_Paint的时候,第一次调整pRoot根节点容器的所有子控件位置就在这个时候;而虚函数InitWindow是在Oncreate中调用的,所有在InitWindow的时候所有控件位置为0,也就是构造时候的空值;整理一下顺序:

duilib代码设置控件位置

3、(1) 窗口Create,也就是调用CWndWindow或CWindowBaseImpl的create方法创建窗口;

duilib代码设置控件位置

4、(2)捕获WM_Create消息,在OnCreate处理函数里会调用InitWindow虚函数,此时子控件位置都未初始化;

duilib代码设置控件位置

5、(3)窗口创建后第一次刷新的时候也就是第一次处理WM_PAINT的时候,会调用pRoot根节点的SetPos,根节点的SetPos会循环递归设置所有子控件的位置;

(4)在(3)过程之后会触发windowinit消息,表示窗口初始化完毕;

duilib代码设置控件位置

  • 小度音箱APP怎么查看蓝牙使用说明
  • 小度音箱怎么当蓝牙音箱用?
  • QQ音乐怎么设置在线试听品质
  • 小度智能音箱怎么升级固件?
  • PS图像处理案例: Q版美队与钢铁侠
  • 热门搜索
    山东旅游一卡通 云南腾冲旅游 武汉周边旅游景点 美国旅游线路 杭州西湖旅游 门头沟旅游 驴友网结伴旅游 北京旅游景区 湛江旅游景点 四川旅游局