【问题标题】:Scrollbar Appearance Control in Windows 7Windows 7 中的滚动条外观控制
【发布时间】:2011-08-30 00:10:19
【问题描述】:

我有一个应用程序,它有一个带有滚动条的 ListView 控件,它会自动在其中包含看起来很酷的滚动条:

CreateWindowExW(WS_EX_WINDOWEDGE,L"SysListView32",L"MyList",
WS_CHILD|WS_VISIBLE|LVS_NOSCROLL|LVS_REPORT|LVS_NOCOLUMNHEADER|WS_VSCROLL|LVS_SHOWSELALWAYS| LVS_SINGLESEL,
0,0,500,290,ownerhWnd, (HMENU)0,hInst,NULL);

但是,当我为应用程序的另一部分手动创建滚动条控件时,它具有较旧的 3d 样式外观:

CreateWindow(TEXT("SCROLLBAR"), TEXT("MyScrollBar"),
WS_CHILD | WS_VISIBLE | SBS_VERT,0,0, CW_USEDEFAULT,
100, ownerhWnd, (HMENU)10 , NULL, NULL); 

如何让它焕然一新?是否有我使用的其他控件,或者我可以应用于标准控件的样式?我查看了平面滚动条,但是它说从 XP 开始不支持它?

谢谢

【问题讨论】:

    标签: c++ winapi windows-7 scrollbar


    【解决方案1】:

    首先,您需要为您的程序创建一个清单,表明它使用 Common Controls 版本 6。然后您必须在程序启动时调用 InitCommonControls

    详情可在此 Microsoft 页面上找到:

    http://msdn.microsoft.com/en-us/library/bb773175%28v=vs.85%29.aspx

    【讨论】:

      【解决方案2】:

      也许是一扇敞开的门,但您已将 Windows XP/Vista/7 清单添加到应用程序的资源中?

      【讨论】:

      • 是的,这就是问题所在。以前没用过,谢谢帮助!
      • 在这种情况下,“也许是一扇敞开的门”是什么意思?我从来没有听说过。我当然可以从上下文中猜测,但知道会很酷......
      • 啊,这似乎是一句典型的荷兰谚语?它是“踢开门”的缩写,女巫翻译为“做不必要的工作”。在这种情况下,它是一种友好的“陈述显而易见”的形式,不言而喻。
      猜你喜欢
      • 2023-03-08
      • 1970-01-01
      • 1970-01-01
      • 2016-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多