【问题标题】:Resizing an edit window调整编辑窗口的大小
【发布时间】:2020-01-09 12:59:39
【问题描述】:

我有一个简单的编辑窗口:

hwndEdit = CreateWindow(
   TEXT("EDIT"),
   TEXT("EDIT"),
   WS_BORDER | WS_CHILD | ES_LEFT,
   100,
   100,
   100,
   30,
   gHwnd,
   0,
   hInst,
   0);

我注意到,当我粘贴一个比编辑窗口宽度长的文本时,我会收到通知 (EN_CHANGE),其中只包含适合窗口宽度的部分文本。当文本长于编辑窗口宽度时,我想调整编辑窗口(SetWindowPos)的大小。我可以基于 MSFTEDIT_CLASS 创建一个编辑窗口并使用 EN_REQUESTRESIZE。您是否知道任何其他解决方案或这是唯一的选择?

【问题讨论】:

  • 您知道solution 解决您的问题。您为什么要主动拒绝该解决方案?

标签: winapi


【解决方案1】:

文本被粘贴时的编辑控件截断。

要在该控件中允许更多文本而不更改大小(由于许多原因这并不实用),只需将ES_AUTOHSCROLL 样式添加到您的CreateWindow 调用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-18
    • 1970-01-01
    • 1970-01-01
    • 2019-05-15
    • 1970-01-01
    • 1970-01-01
    • 2013-01-27
    相关资源
    最近更新 更多