c++ - 使用 C++ 将自定义过滤器应用于 RECT 后面的所有内容,a'la CSS 背景过滤器样式
问题描述
我想将窗口中所有内容的颜色从 反转(300, 100)
为(600, 500)
。
我尝试使用从库中设置BitBlt
的DSTINVERT
标志winuser.h
,但如果有任何变化,它就会中断。让它在一个循环中连续反转也不起作用,因为它会反转已经反转的部分。
我还尝试RedrawWindow
结合BitBlt
in 循环来重绘我需要反转的部分,虽然它确实成功地重绘了窗口并反转它,但它会导致一些非常糟糕的闪烁。
我当前的代码:
RedrawWindow(hwnd, NULL, NULL, RDW_UPDATENOW | RDW_INVALIDATE);
BitBlt(
GetDC(hwnd),
300, 100,
600, 500,
NULL,
0, 0,
DSTINVERT
);
我想要实现的示例:
解决方案
推荐阅读
- react-native - React Native Stack 维护的 React 导航
- adobe - AEM 调度程序需要在部署后自动启动
- java - 如何单击 selenium webdriver 中的剑道下拉菜单
- javascript - 如何在 NodeJS 中转换为导入/导出 ES 模块
- c++ - 不同 C++ 文件中未命名命名空间中的名称可以引用相同的命名事物吗?
- html - 使用 xpath 时找不到元素
- php - 如何使用 Laravel 查询构建器在 Postgresql 数据库中搜索不区分大小写的查询?
- javascript - 测试一个结合 Observables 的函数
- elasticsearch - 所有索引在 ElasticSearch 中突然被删除
- java - 在 spark java 中创建和管理 jdbc 连接的正确方法