如何左对齐标题文本VS C++
how to left justify title text VS C++
我正试图修改Visual Studio下用C++编写的现有基于对话框的程序。
对话框上的标题栏显示居中的文本。我需要证明这一点。但我不明白为什么它一开始就以中心为中心。我已经编写了另一个示例程序,默认情况下标题文本是左对齐的。对话框属性中的一个选项是"右对齐文本"。这在我的示例程序中有效,但在现有程序中更改它没有效果。
似乎一定有人花了一些精力来居中文本,但我在代码中没有看到任何东西,如果事实上,居中(或在我的示例/测试程序中正确对齐)会显示在对话框编辑器中。所以它一定在那里的属性中。但是在哪里!?!?!
这是一件必须很容易的事情,我没有看到!
那么我该如何左对齐标题文本呢?我甚至很乐意用代码来做,因为我已经在修改标题,在其中添加程序版本号了。顺便说一句,当我添加到标题中,或者交换一个新标题时,文本最终会居中。
使文本中心的技巧是覆盖此链接中给出的WM_NCPAINT事件
如果您不想使文本居中,请删除覆盖,它应该可以工作。
所以这不是一个真正的答案,但我的"问题"是我在比较Win10和Win8上运行的程序。事实证明,Win10的默认设置必须是左对齐标题,而Win8的默认设置是居中。
从程序上讲,我将版本号附加到标题上,Win8中的居中过程显然不是动态的,所以结果向右倾斜。我的解决方案是简单地将版本号中的字符数添加到原始标题中,当我添加版本号时,我会去掉这些空格。
WM_NCPAINT可能是"正确"的答案,但就时间而言可能过于昂贵。
相关文章:
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- 如何为模板化对象创建模板向量?VS正在投掷C3203
- 数据成员SFINAE的C++17测试:gcc vs clang
- 为什么在Windows上的VS 2019和Clang 9中"size_t"在没有标题的情况下工作
- 在for循环中使用auto vs decltype(vec.size())来处理字符串的向量
- 正在VS调试器中监视映射条目
- Confusion: decltype vs std::function
- 将IBM Rhapsody模型集成到VS 2019中
- VS Code "command":"make"与终端窗口中的命令行"make"不同
- 使用VS Code和CMake Tools运行自定义命令
- 修改 VS Code 中的默认C++代码段
- 如何使用c++在VS 2019上运行SQL查询
- vs 2015 constexpr变量不恒定,但与2019相比还好吗
- 完美前进使用 std::forward vs RefRefCast
- 从VS 2015更新3更新到VS2015更新3 d后浮点计算行为不同的原因
- VS 2015 链接错误 无法构建依赖于 libcurl 的项目
- consteval wrapper vs. source_location
- VS Code C++:不准确的系统包括路径错误(wchar.h,boost/lambda/lambda.hpp)
- QStringList vs list<shared_ptr<QString>> 性能比较C++
- VS 2017 使用交叉编译器构建 x64 项目