传递给SetWindowText的窗口标题的最大长度是多少?

时间:2016-02-01 16:34:26

标签: winapi

SetWindowText函数的文档没有对可用作窗口标题的字符串长度设置限制。

WM_SETTEXT的文档中(通过调用SetWindowText发送的消息),请注意此消息处理的返回值可能是:

  

FALSE (对于编辑控件), LB_ERRSPACE (对于列表框)或 CB_ERRSPACE (对于组合框)如果不足空格可用于在编辑控件中设置文本。

但是,它没有说明设置窗口标题时的情况。是严格的限制设置,还是由程序员使用常识来提供自己的标题长度限制?

我发布了这个,因为我正在开发一个图形引擎,允许用户为主窗口提供自己的标题。我的想法是我会定义一个常量,例如

const static int MAX_APP_TITLE_LENGTH = /* ??? */;

在我的应用程序类中,并根据此检查用户提供的标题字符串的长度。

如果标题字符串太长,我可以抛出一条警告信息并将其截断,而不是直接将其传递给SetWindowText而产生意想不到的后果。

编辑:在评论中进行了一些讨论之后,即使将一个长度为100,000的字符串用作窗口标题,Windows似乎也不会抱怨,所以这个问题不值得担心(超出当然,输入的基本消毒!)

0 个答案:

没有答案