【发布时间】:2016-06-29 11:17:11
【问题描述】:
我有大量的字符串要加载到 MFC 组合框。要设置组合框的宽度,我对每个字符串都使用 GetTextExtent 并在组合框上设置最大范围。这非常耗时,因为调用 GetTextExtent 需要花费大量时间。在添加 25000 个字符串时,这变得非常昂贵。有没有其他方法可以获得我可以在组合框上设置的确切宽度?
【问题讨论】:
-
我尝试了 Graphics.MesasureString,它也花费了同样多的时间。有没有其他办法?
-
问题:我假设您在进行选择后担心组合框 edit 部分中字符串的宽度。您是否担心如果组合框的宽度不够,字符串会被截断?
-
25000 个元素 - 我会作弊。 GetTextExtent 在一个平均字符上 - 比如 'a' 并乘以最长字符串长度中的字符数。
-
我担心组合框的下拉框的宽度。我确实有一个 SetDropdownWidth 但设置哪个值是这里的问题。
-
我可以质疑你的设计吗?您希望该控件的用户做什么?翻阅这 25,000 个字符串,看看里面有什么?在大集合中查找字符串必须有更好的选择。