【问题标题】:How can I get and set the 'read-only' property of an edit box?如何获取和设置编辑框的“只读”属性?
【发布时间】:2010-10-02 13:23:30
【问题描述】:

如何获取和设置编辑框的“只读”属性?

【问题讨论】:

    标签: c++ visual-c++ mfc visual-c++-6


    【解决方案1】:

    CEdit 类有一个可在运行时调用的 SetReadOnly 方法。 MSDN上的详细信息:http://msdn.microsoft.com/en-gb/library/aa279328(VS.60).aspx

    【讨论】:

    • 嗯.. 我得到这个 'SetReadOnly' : is not a member of 'CWnd' 这有什么特别的吗?
    • 你怎么称呼它?如果您正在执行 GetDlgItem(blah)->SetReadOnly 之类的操作,那么您可能会收到类似的错误消息,因为 GetDlgItem 不返回 CEdit。
    • 是的,这就是我正在做的。这不是标准的做法吗?还有什么办法? TIA
    • 可能最好的方法是使用 ClassWizard 为要更改的控件或控件设置成员变量,并通过它操作编辑控件。您可能可以将 CWnd* 转换为 CEdit*,但除非您没有其他选择,否则我不会。
    • 实际上将 CWnd* 转换为 CEdit* 是惯用的 MFC。这只是它不受尊重的众多原因之一。
    【解决方案2】:
    GetDlgItem(blah)->SendMessage(EM_SETREADONLY ,1 ,0);
    

    这会将其设置为只读。

    【讨论】:

    • 这是 2 个 WinApi 调用,使用带有此标志的 SendDlgItemMessage :)
    • 在 delphi 中也像魅力一样工作。
    【解决方案3】:

    从设计窗口: 右键单击编辑框,选择属性。 它是样式选项卡上的最后一个选项。

    【讨论】:

    • 谢谢,但我的意思是在运行时。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-13
    相关资源
    最近更新 更多