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






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 或其他值 - 突然间,用户看到的不是斜面线,而是一个凹陷的静态文本框。