两种相同的垂直工具栏标志以及为什么

news2024/12/27 0:15:33

可能你很少碰到这样的开发需求,所以本文属于”课外阅读”级别。

有两种方式启用垂直工具栏,一种是指定通用的 CCS_VERT 标志,另外一种,比较罕见:指定工具栏所特有的扩展属性 TBSTYLE_EX_VERTICAL。

问题来了,为什么会存在两个标志来做同一件事情?
因为我们搞砸了。

当初设计 TBSTYLE_EX_VERTICAL 的人没有意识到其实已经有一种通用而简单的方法了(就是上面所说的 CCS_VERT 标志),更糟糕的是,工具栏的某些属性由 CCS_VERT 控制,而另外一些则由 TBSTYLE_EX_VERTICAL 控制。

所以,如果你希望在 Windows XP 系统上启用一个垂直工具栏,则你可能需要同时设置这两个标志。

事情还没完。

因为这个错误已经铸成,我们不得自动化的同时启用这两个标志,也就是如果系统检测到开发者设置了 CCS_VERT,则会自动加上另外一个 TBSTYLE_EX_VERTICAL,反之亦然。

这个自动化机制可以确保开发者始终都会得到一个统一的工具栏呈现,而不会因为只设置了一个标志并忘记另外一个所带来的不一致行为。

但总的来说,确实是我们的设计失误,因为还有一些开发者就是希望故意只设置其中一个标志,从而得到他们希望的效果,在这种情况下,因为我们的自动化同步机制,他们没法得到他们想要的。

对此,我们很抱歉。

我可以立即联想到先发制人且尖酸刻薄的批评:”瞧,这就是为什么 Windows 垃圾的原因。”

总结

所谓人无完人,没有人是完美的,也没有代码是完美的。
我们的目标是:吸取教训,绝不再犯同样的错误。

最后

Raymond Chen的《The Old New Thing》是我非常喜欢的博客之一,里面有很多关于Windows的小知识,对于广大Windows平台开发者来说,确实十分有帮助。
本文来自:《Why are there both TBSTYLE_EX_VERTICAL and CCS_VERT?》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1424827.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

智能小车案例:基于Raspberry Pi的自动巡航与避障系统

项目背景 随着物联网技术的不断发展,智能小车成为了现代生活和工业自动化中的重要工具。为了实现智能小车的自动巡航与避障功能,我们采用了Raspberry Pi作为主控制器,结合传感器和执行器,构建了一个完整的系统。 所需材料 Raspber…

关于source批量处理sql命令建立数据库后发现中文乱码问题解决方案(Mysql)

今天在使用souce建表的时候发现自己表结构中的中文出现了乱码问题,那么具体的解决方案如下: 首先我们先使用命令行连接自己的数据库 mysql -u root -p 12345 然后使用show variables like "char%"; 如果说你的这个里面不是utf-8那么就是出现了…

Acrel-1200分布式光伏运维平台屋顶光伏工商业屋顶光伏应用

上海安科瑞电气股份有限公司 胡冠楠 咨询家:“Acrelhgn”,了解更多产品资讯 行业现状 “十四五”期间,随着“双碳”目标提出及逐步落实,本就呈现出较好发展势头的分布式光伏发展有望大幅提速。就“十四五”光伏发展规划&#xf…

大脑模型认知实验报告(脑与认知期末考核)

实验名称:大脑模型认知实验 实验目的: (1)对大脑的三部分、七层结构、区域划分有一个清晰的认识。 (2)对脑的各个区域的基本功能以及脑的工作方式有所了解。 实验环境:大脑模具、配有详细标…

vue3 + vite:打包部署后,动态组件渲染404问题解决

问题描述: 当需要渲染动态组件,动态的组件路径配置在数据库中时,如下图,本地运行能正常访问,用vite打包部署后,生产上改路径为404. 起初认为是,vite打包后的文件都是.js, 当页面加载后从数据库拿来的路径是.vue, 并且是src/xxx/xxx.vue 这种绝对路径形式的,所以就找不…

《Pandas 简易速速上手小册》第3章:Pandas 数据清洗基础(2024 最新版)

文章目录 3.1 处理缺失数据3.1.1 基础知识3.1.2 重点案例:客户数据分析3.1.3 拓展案例一:医疗问卷数据处理3.1.4 拓展案例二:零售店库存清单 3.2 数据类型转换3.2.1 基础知识3.2.2 重点案例:商品销售数据分析3.2.3 拓展案例一&…

热仿真中稳态与瞬态的区别

对于热仿真,根据是否随时间变化,可分为稳态(steady)仿真和瞬态(transient)仿真两类。 从数学计算的角度,所谓稳态是指物理量不随时间变化的定常过程,即计算域中所有物理量均满足关系…

华章杂志华章杂志社华章编辑部2023年第11期目录

专题论文 强化人才队伍发展 推动法治唐山建设问题研究 (0003) 李彬 文化论坛《华章》投稿:cn7kantougao163.com 乡村振兴背景下非物质文化遗产传承与发展探究 ——以黔西南州传统蓝染文化为例 (0006) 董天丽;何华杰;韦永吉;王芳琳 思政课视角下高职学生保护和继…

Git系列---远程操作

📙 作者简介 :RO-BERRY 📗 学习方向:致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 📒 日后方向 : 偏向于CPP开发以及大数据方向,欢迎各位关注,谢谢各位的支持 引用 1.理解分布式版本控制…

第九篇【传奇开心果系列】Python的OpenCV技术点案例示例:目标跟踪

传奇开心果短博文系列 系列短博文目录Python的OpenCV技术点案例示例系列 短博文目录前言二、常用的目标跟踪功能、高级功能和增强跟踪技术介绍三、常用的目标跟踪功能示例代码四、OpenCV高级功能示例代码五、OpenCV跟踪目标增强技术示例代码六、归纳总结 系列短博文目录 Pytho…

绝地求生:地铁逃生模式从哪里进入游戏模式的讲解

地铁逃生模式是绝地求生(PUBG)中的一种游戏模式,玩家需要在地铁车厢中寻找武器并战胜其他玩家。如果你还不知道在哪里进入地铁逃生模式,本文闲游盒将为您进行详细的讲解。 进入地铁逃生模式的步骤: 打开绝地求生游戏客…

C++关键词auto详解

顾得泉:个人主页 个人专栏:《Linux操作系统》 《C从入门到精通》 《LeedCode刷题》 键盘敲烂,年薪百万! 一、小思考 随着我们对于C的不断学习,遇到的程序越来越复杂,程序中用到的类型也越来越复杂…

麒麟V10 mate-indicator进程占用内存过高问题

给客户新划的5台虚拟机,操作系统是麒麟V10,用户反映什么软件都没装系统内存占用就达到80%。 百度了一下是麒麟的bug,内存泄漏。官方分析报告。 解决方法:下载相应rpm包并安装即可解决。 1.确定麒麟版本 cat /etc/*release Ter…

npm淘宝镜像过期解决办法

npm淘宝镜像过期解决办法 因为npm 官方镜像(registry.npmjs.org)在国内访问很慢,我们基本上都会选择切换到国内的一些 npm 镜像(淘宝镜像、腾讯云镜像等)。由于淘宝原来的镜像(registry.npm.taobao.org&am…

肉食食材大数据平台(附源码)

目录 一.需求分析 1.项目背景 2.用户简介 3.术语定义 4.功能概述 二.概要设计 1.概要设计流程图 2.流程图详细说明 三.数据库设计 1.软件名称 2.概念结构设计 2.1电商模块 2.2猪肉今日价格模块 2.3大屏展示模块 2.3.1舆论舆情 2.3.2 省均价模块 2.3.3进出口模块…

Pyecharts绘制多种炫酷气泡图

Pyecharts绘制多种炫酷气泡图 引言 数据可视化是数据分析中不可或缺的一环,而Pyecharts作为一款基于Echarts的Python图表库,提供了丰富的图表类型,其中气泡图是一种常用于展示三维数据的炫酷图表。本文将介绍如何使用Pyecharts绘制多种炫酷…

【CSS】css获取子元素的父元素,即通过子元素选择父元素(使用CSS伪类 :has() :not() )

这里写目录标题 一、:has获取第一个div获取包含 a.active 的 li获取第二个div 二、:not除了类名为active 的 a,其他的a的字体都为18px <div><h1>标题</h1></div><div><ul><li><a href"#" class"active">测…

基于YOLOv8的水下生物检测,多种优化方法---自研注意力BSAM助力涨点(一)

&#x1f4a1;&#x1f4a1;&#x1f4a1;本文主要内容:详细介绍了水下生物检测整个过程&#xff0c;从数据集到训练模型到结果可视化分析&#xff0c;以及如何优化提升检测性能。 &#x1f4a1;&#x1f4a1;&#x1f4a1;加入自研注意力BSAM mAP0.5由原始的0.522提升至0.553…

【AG32VF407】国产MCU+FPGA,更新官方固件解决8Mhz内部晶振不准,Verilog实测7.9Mhz!

视频讲解 [AG32VF407]国产MCUFPGA&#xff0c;更新官方固件解决8Mhz内部晶振不准&#xff0c;Verilog实测7.9Mhz&#xff01; 实验过程 之前出现的双路pll不同频率的测试中&#xff0c;提出了内部晶振输出不准的问题&#xff0c;和官方沟通后得到极大改善&#xff0c;方法如下…

Excel技能——使用条件格式保护数据

1.选中需要保护数据的单元格 2.选择“条件格式”——“新建规则” 3.选择“使用公式确定要设置格式的单元格”——在条件单元格设置格式的位置&#xff0c;写“”——光标选中输入密码的单元格&#xff0c;此处是点击“123”处的单元格——输入“<>”&#xff08;意思是不…