ScrollDC与ScrollWindowEx的异同

ScrollDC与ScrollWindowEx的异同

1.函数原型:
BOOL ScrollDC(HDC hDC, int dx, int dy, const RECT * lprcScroll, const RECT * lprcClip, HRGN hrgnUpdate, LPRECT lprcUpdate);

int ScrollWindowEx(HWND hWnd, int dx, int dy, const RECT * prcScroll, const RECT * prcClip, HRGN hrgnUpdate, LPRECT prcUpdate, UINT flags);

2.相同点:
a)两者都可以将某区域滚动到另外一区域,同时计算脏区域。
b) 两者最终的实现都是通过内部的BitBlt实现的
c)如果要对重绘的区域进行精细的管理和计算,则传入hrfgUpdate,否则传入prcUpdate即可。

3.不同点:
a)ScrollDC只是用于DC,因此 它不会发出WM_PAINT进行重绘;而ScrollWindowEx则会。另外就是ScrollWindowEx还可以在滚动时进行其他控制,见flags的值。
b)如果需要滚动整个客户区,则需要用到ScrollWindowEx(来自MSDN),个人觉得ScrollDC也可以实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值