所以我的困境来自于使用 Windows API 在 C++ 中制作 UI。我需要一个 EDITTEXT 框,它允许滚动但不允许用户编辑显示在框中的文本。到目前为止,它看起来像这样。
EDITTEXT ID_STATUS,7,237,439,50, WS_VSCROLL | ES_MULTILINE
Run Code Online (Sandbox Code Playgroud)
如果文本很长,这允许滚动文本并将其分成新行。但是,如果我为此添加 DISABLED 选项,它将禁用滚动条和文本。解决这种情况的最佳方法是什么?我也试过添加
SendDlgItemMessage(ID_STATUS, EM_SETREADONLY, 0, 0);
Run Code Online (Sandbox Code Playgroud)
在预览 UI 以查看这是否会禁用文本编辑之前,但它不会。任何帮助,将不胜感激。
EM_SETREADONLY是正确的,但您实际上没有要求它为只读。尝试
SendDlgItemMessage(ID_STATUS, EM_SETREADONLY, TRUE, 0);
Run Code Online (Sandbox Code Playgroud)
参数
指定是设置还是删除 ES_READONLY 样式。TRUE 值设置 ES_READONLY 样式;值为 FALSE 会删除 ES_READONLY 样式。
您还可以ES_READONLY在创建控件时指定样式。
| 归档时间: |
|
| 查看次数: |
560 次 |
| 最近记录: |