如果行的宽度超过其父窗口的宽度,我想将复选框的现有文本包装为多行。我不确定如何做到这一点。如何检查窗口中Row的长度或宽度是否大于其父窗口的宽度C++
The image I want to show the checkbox string
The image where the string is cropped and only shows if window is resized or maximized
如果行的宽度超过其父窗口的宽度,我想将复选框的现有文本包装为多行。我不确定如何做到这一点。如何检查窗口中Row的长度或宽度是否大于其父窗口的宽度C++
The image I want to show the checkbox string
The image where the string is cropped and only shows if window is resized or maximized
你要与这个恐怕有问题。
制作一个复选框多设置是ES_MULTILINE
,如果你看here,你会看到,它指出:
要使用CreateWindow的或CreateWindowEx函数创建一个编辑控件,指定EDIT类,适当的窗口样式常量以及以下编辑控件样式的组合。 之后,控件已创建,这些款式不能修改,除非注明。
所以,在我看来,你有三种前进的方式,这取决于你对你最好或最优雅的感觉。
无论如何,将资源编辑器中的控件设置为多行。然后它并不重要,并将包装。无需改变设置。
实现所需的功能来限制窗口可缩小的大小。如果你有兴趣,我可以告诉你。这样,如果您正确设置控件大小调整属性,它可以调整较大的大小,但只能减少已知维度(即:在资源编辑器中创建它的维度)。
可能在同一个地方有两个控件,一个是多行,另一个是单一。当你决定要显示哪一个时,交换可见性。但我认为这是一个糟糕的主意,有点令人头疼,不值得一提。
恕我直言,我会做的想法1和2,我会高兴地延长我的答案,以提供更多的信息。
说完看着你的图片和评论有关翻译然后还有第四主意。如果您使用第三方应用程序来管理翻译并使用附属DLL文件,那么您可以根据语言来调整语言资源。由于冗长的特性,我有时必须将某些窗口的默认宽度设置得更宽。
我已经为该复选框设置了BS_MULTILINE。窗口的最小尺寸是固定的,但我只希望复选框适合该窗口。我期望它在第二行中显示与其他标签和剩余单词相同行中的至少一个单词。所以我正在检查第一行的总宽度是否大于窗口的宽度,然后在其中显示字符串\ r \ n否则显示正常字符串。但是,我想将第一行或复选框的第一个单词与复选框对齐,其余单词应该低于第一个单词。目前,该复选框位于两行之间,看起来很奇怪。无论如何,我可以做到这一点?
你应该编辑你的问题并更新它。这不是一个答案。另外,我鼓励你展示你的结果的截图等,所以我们可以看到。 –