TA的每日心情 | 开心 2022-1-9 18:18 |
---|
|
发表于 2011-11-25 21:04:13
|
显示全部楼层
重绘部分让用户去调用,其主要原因是为了提供效率.
举例:在窗口上有3个按钮,我们需要动态改变这3个按钮的位置.
例1:
假如我们在XEle_SetRect()函数中加入了自动重绘功能.
- XEle_SetRect(hButton1,&rect1);
- XEle_SetRect(hButton2,&rect2);
- XEle_SetRect(hButton3,&rect3);
- //假如更多的按钮....
复制代码
列2:
XEle_SetRect()没有自动重绘功能.
- XEle_SetRect(hButton1,&rect1);
- XEle_SetRect(hButton2,&rect2);
- XEle_SetRect(hButton3,&rect3);
- //假如更多的按钮....
- XWnd_ReDrawWnd(hWindow);
复制代码
例1和例2比较:
例1进行了3次重绘.
列2进行了1次重绘.
显然例2比例1有优势,当例子中是1000个按钮同时移动时,更能突出优势!
所以很多地方需要用户来调用函数重绘.
可改进的地方:XEle_SetRect(HELE,RECT*,是否重绘),添加一个是否重绘的参数选项.
|
|