65.9K
CodeProject 正在变化。 阅读更多。
Home

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

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.94/5 (9投票s)

2000 年 1 月 10 日

viewsIcon

93284

downloadIcon

2605

一个显示垂直和水平文本的斜角线控件。

  • 下载演示项目 - 52 Kb
  • 下载源文件 - 30 Kb
  • 这里描述的类替换了我之前编写的一个类,并且取代了 Michael Dunn 的 我对该类的扩展

    这个类提供了以下选项:

    rotated_bevel.gif (5061 Byte)

    特点

    • 即使用户使用了奇怪的字体,也能显示斜面线。
      (你有没有创建过高度为 1 的凹陷静态文本框,并在具有 200% 放大字体的机器上测试过你的程序?)。
    • 文本能够适当地旋转(可与任何字体一起使用)。
    • 正确响应 WM_ENABLEWINDOW 消息。
    • 可以用作我 cdxCRot90DC (你可以在 GDI 部分中找到) 的一个示例。

    如何使用(在对话框中):

    1. 将 cdxCRotBevelLine.h、cdxCRotBevelLine.cpp、cdxCRot90DC.h 和 cdxCRot90DC.cpp 添加到你的项目中。
    2. 在你的对话框资源中添加一个静态控件。
      输入一些合适的文本到其中。
      如果静态控件的宽度大于其高度,斜面线将显示为水平方向,反之则为垂直方向。
      如果斜面线以垂直方式绘制,文本默认情况下会旋转 90° (上图左侧的例子)。
      要修改此行为,在你的控件文本前面加上一个“~” (上图右侧的斜面线)。
    3. 将其 ID 更改为类似 IDC_BEVEL_1 的名称,打开类向导并分配一个成员变量,类型为控件 (CStatic) (例如 m_wndBevel1)。
    4. 打开你的对话框类的头文件。
      添加 #include "cdxCRotBevelLine.h"
      找到 CStatic m_wndBevel1 这一行,并将 CStatic 替换为 cdxCRotBevelLine
    5. 编译并运行。

    注释

    • 即使你只需要水平斜面线,这个类也可能对你有用。
      有人提到,创建一个高度为 1 的凹陷静态文本框(在调整控件大小的时候按住 Alt 键)并放置另一个文本控件在其上方就足够了。
      事实上,如果用户为他的显示选择了字体,这将看起来非常奇怪 - 对话框资源将自动适应新字体,而你的高度 1 可能会变成 3 或其他值 - 突然间,用户看到的不是斜面线,而是一个凹陷的静态文本框。
    © . All rights reserved.