winapi - win32 listview内部构建滚动条所有者绘制
问题描述
根据 msdn,消息 WM_NCCALCSIZE 处理非客户端区域,包括内部 bulid 滚动条区域。msdn 的引用让我感到困惑。任何人请告诉如何调整三个矩形(LPNCCALCSIZE_PARAMS)以覆盖内部构建滚动条区域?
if(message==WM_NCCALCSIZE) {
RECT rect_new;
RECT rect_old;
RECT client_rect_new;
RECT client_rect_old;
//adjust client rect or no-client rect
if(wParam == TRUE) {
LPNCCALCSIZE_PARAMS calc_param = (LPNCCALCSIZE_PARAMS)lParam;
//before
//0:new 1:old 2:old-client
CopyRect(&rect_new,&(calc_param->rgrc[0]));
CopyRect(&rect_old,&(calc_param->rgrc[1]));
CopyRect(&client_rect_old,&(calc_param->rgrc[2]));
//after
//0:new client 1:new 2:old
client_rect_new = {rect_new.left,
rect_new.top,
rect_new.right+GetSystemMetrics(SM_CXHSCROLL),
rect_new.bottom+GetSystemMetrics(SM_CYHSCROLL)};
CopyRect(&(calc_param->rgrc[0]),&client_rect_new);
CopyRect(&(calc_param->rgrc[1]),&rect_new);
CopyRect(&(calc_param->rgrc[2]),&rect_old);
return WVR_VALIDRECTS;
解决方案
推荐阅读
- java - 无法连接到 smtp 主机 ovh 服务器端口 465
- qt - CONFIG += qmltypes 的 cmake 等效项
- mysql - Sql find_in_set group concat在laravel查询中不起作用
- java - 我的 Java-Stream 的过滤器不起作用
- styled-components - stylelint-scss - 有没有办法禁用双斜杠评论?
- swift - 无法在 iOS14 中的 UIDatePicker 上设置 24 小时格式
- botframework - 添加 BotController 类时未调用 Botframework V4 中间件
- django - 如何在 django 中将数据库值与 forms.py 值进行比较
- python - 使用 java 创建更好的文本的基础知识
- javascript - 自定义元素构建时获取this.textContent