【问题标题】:Custom shaped text box/edit control in .net?.net 中的自定义形状的文本框/编辑控件?
【发布时间】:2009-06-02 16:24:24
【问题描述】:

我正在寻找一种在自定义形状的框(例如圆形)内显示和编辑文本的方法。 文本需要尽可能多地使用允许的空间,因此仅在形状内放置一个编辑框是不够的。

要求:

  1. 给定一个 GraphicsPath 和一个字符串,在路径中绘制文本。如果文本溢出,截断或引发事件。
  2. 允许用户在 GraphicsPath 中编辑文本。
  3. 关于标准文本框的所有智能 分词、自动换行、本地化。

似乎没有任何符合这些要求的控件。它可能需要低级线路布局 API 来完成此操作,而且我在 MSDN 中也找不到有关 Windows 中此类 API 的文档。

这是一个高精度的工具,所以我们愿意付出很多努力来得到我们需要的东西。

提前致谢!

【问题讨论】:

    标签: .net editor textbox shape editcontrol


    【解决方案1】:

    因为你提到它是一个高精度的工具,我会完全避免依赖内置的 TextRenderer 方法,因为它们在准确性和一致性方面存在问题。

    至于对编辑控件进行整形,是指将其形状从矩形更改为圆形,还是控件仍会占据矩形区域?如果是前者,您可以更改 Region 属性或 P/Invoke SetWindowRgn 系列。

    【讨论】:

    • 谢谢。回复:形状,实际可编辑区域需要​​是自定义形状。可见轮廓将具有此形状。
    • @bright - 在我看来,您必须 100% 从头开始​​。我会研究 PostScript 渲染器或类似的东西来寻找灵感。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-07
    • 1970-01-01
    • 2011-07-09
    • 1970-01-01
    相关资源
    最近更新 更多