在VS2015中创build了WPF应用程序。 将窗口标题设置为长度为290的string。
Title = "123456789 223456789 323456789 423456789 523456789 623456789 723456789 823456789 923456789 133456789 233456789 333456789 433456789 533456789 633456789 733456789 833456789 933456789 143456789 243456789 343456789 443456789 543456789 643456789 743456789 843456789 943456789 153456789 253456789 ";
运行应用程序时,标题被截断为255个字符(跨2个屏幕最大化窗口和窗口)。
ELF64 / x86_64和内存映射段的起始地址(对于共享对象)
在Windows上的GCC:设置C可执行文件的“描述”字段?
打印errno作为助记符?
如何使用Windbg检查pipe理应用程序的Int64
FileSystemWatcher – 如何pipe输出到文本文件?
WPF窗口标题允许的最大长度是多less?
我试过了
在c中更改所有者和组
将内联GASM移植到x64 MASM访问冲突问题
Segfault跨线程访问类
看来255个字符在DefWindowProc()本地窗口函数中是一个内部限制。
UnsafeNativeMethods.SetwindowText(new HandleRef(this,CriticalHandle),title);
这种方法接受任何长度的字符串,所以应该实际上工作。 这不是一个WPF问题。
但…
即使你创建了一个使用DefWindowProc()函数的标准和原生的Win32窗口,你也会观察到相同的行为 – 窗口标题中最多有255个字符。
Windows绘制标题栏以响应WM_NCPAINT消息(以及窗口框架,系统按钮等)。 在处理WM_NCPAINT消息的DefWindowProc()代码中,代码调用GetwindowText()来获取窗口的标题字符串。 在对GetwindowText()这个调用中,缓冲区的大小似乎是255个字符 (在旧的Windows中,缓冲区只有79 个字节 )。 这将窗口标题的长度限制为255个字符。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。