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