win32gui - 如何获取 win32 编辑框的 'read-only' 属性?

标签 win32gui editcontrol

如何获取 win32 编辑框的“只读”属性?

而且我知道如何设置该属性。像这样的代码。

SendDlgItemMessage(g_hwnd, IDC_EDIT_1, EM_SETREADONLY, 1, 0);

但是我怎么知道这个编辑控件具有“只读”属性呢? 我的意思不是 MFC\CWND 或者某种方式,只是 win32 方法,如 SendMessage api。

先谢谢了~

最佳答案

根据MSDN :

EM_SETREADONLY message

Sets or removes the read-only style (ES_READONLY) of an edit control.

因此,只需使用 GetWindowLongPtr() 和 GWL_STYLE 从控件中读取该样式即可。

这是 Win API 调用:

bool bRO = ::GetWindowLongPtr(::GetDlgItem(g_hwnd, IDC_EDIT_1), GWL_STYLE) & ES_READONLY;

关于win32gui - 如何获取 win32 编辑框的 'read-only' 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33772209/

相关文章:

c++ - 从应用程序特定文件夹加载自定义字体文件

c++ - 十进制数字的区域设置感知编辑控件子类化(格式 [sign] [xxx...] [decimal separator] [yy...] )

c++ - 如何在编辑控件上获得左键单击通知?

c++ - 是否可以更改只读编辑控件的背景颜色

c++ - 如何使用循环从 TEdit 中逐个获取文本

delphi - 是否可以确定 dbEdit 中的文本是否比可见文本长?

c++ - 为什么 GID_ZOOM 的中心点会改变?

c - 使用 Tab 移动到主应用程序窗口中的另一个编辑控件

c++ - 在哪里编码 Win32 菜单

c++ - C++中如何为嵌入式web控件提供图像数据