带水平和垂直文本的斜角线






4.94/5 (9投票s)
2000 年 1 月 10 日

93284

2605
一个显示垂直和水平文本的斜角线控件。
这里描述的类替换了我之前编写的一个类,并且取代了 Michael Dunn 的 我对该类的扩展。
这个类提供了以下选项:

特点
- 即使用户使用了奇怪的字体,也能显示斜面线。
 (你有没有创建过高度为 1 的凹陷静态文本框,并在具有 200% 放大字体的机器上测试过你的程序?)。
- 文本能够适当地旋转(可与任何字体一起使用)。
- 正确响应 WM_ENABLEWINDOW 消息。
- 可以用作我 cdxCRot90DC(你可以在 GDI 部分中找到) 的一个示例。
如何使用(在对话框中):
- 将 cdxCRotBevelLine.h、cdxCRotBevelLine.cpp、cdxCRot90DC.h 和 cdxCRot90DC.cpp 添加到你的项目中。
- 在你的对话框资源中添加一个静态控件。
 输入一些合适的文本到其中。
 如果静态控件的宽度大于其高度,斜面线将显示为水平方向,反之则为垂直方向。
 如果斜面线以垂直方式绘制,文本默认情况下会旋转 90° (上图左侧的例子)。
 要修改此行为,在你的控件文本前面加上一个“~” (上图右侧的斜面线)。
- 将其 ID 更改为类似 IDC_BEVEL_1的名称,打开类向导并分配一个成员变量,类型为控件 (CStatic) (例如m_wndBevel1)。
- 打开你的对话框类的头文件。
 添加#include "cdxCRotBevelLine.h"。
 找到CStatic m_wndBevel1这一行,并将CStatic替换为cdxCRotBevelLine。
- 编译并运行。
注释
- 即使你只需要水平斜面线,这个类也可能对你有用。
 有人提到,创建一个高度为 1 的凹陷静态文本框(在调整控件大小的时候按住 Alt 键)并放置另一个文本控件在其上方就足够了。
 事实上,如果用户为他的显示选择了大字体,这将看起来非常奇怪 - 对话框资源将自动适应新字体,而你的高度 1 可能会变成 3 或其他值 - 突然间,用户看到的不是斜面线,而是一个凹陷的静态文本框。
