mfc中如何设置编辑框\按钮的外观

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mfc中如何设置编辑框\按钮的外观相关的知识,希望对你有一定的参考价值。

因为设置了背景图片,默认的外观很不协调。如何将编辑框\按钮等控件的外观也改变?

建议重写按钮和编辑框类,重写绘制函数就好了。这样按钮和编辑框的外观就都由自己来绘制了。有背景的话,还可以把编辑框弄成透明的。 参考技术A 自绘编辑框或者按扭!还有种方法就是重载对话框的OnCtrlColor函数,里面判断type是编辑框,就自己绘下!

在 mfc 中单击按钮时更改编辑框内容

【中文标题】在 mfc 中单击按钮时更改编辑框内容【英文标题】:Change Edit Box content when Button is clicked in mfc 【发布时间】:2012-01-31 06:34:41 【问题描述】:

我在对话框上有一个编辑框和一个按钮。单击按钮时,如何更改编辑框运行时中的内容?我必须从文件中读取新记录并将其发布到编辑框中,因为单击按钮并且我正在使用 mfc。

【问题讨论】:

【参考方案1】:

您可以通过调用从CWnd 基类继承的SetWindowText method 来设置编辑控件的文本(由MFC 中的CEdit class 包装)。

那么您需要做的就是响应按钮控件上的单击事件。您可以通过在父窗口的 OnCommand method 内的相应按钮控件中侦听 BN_CLICKED notification 来做到这一点。

类似:

BOOL CMyDialog::OnCommand(WPARAM wParam, LPARAM lParam)

    if (HIWORD(wParam) == BN_CLICKED && LOWORD(lParam) == IDC_MYBUTTON)
    
        m_Edit.SetWindowText(TEXT("My string"));
    
    return CWnd::OnCommand(wParam, lParam);

获取和阅读有关 MFC 的书籍会很有帮助。这是相当基本的东西,但是如果您还不了解基本概念,则可以在一个答案中涵盖很多内容。

使用类向导会更容易... 使用 Ctrl+W 键调用它并按照屏幕上的说明进行操作。你最终会得到类似的东西:

void CMyDialog::OnMyButton()

    m_Edit.SetWindowText(TEXT("My string"));

【讨论】:

【参考方案2】:

一旦您按下按钮,在大多数情况下,更改编辑控件中文本的最简单方法是:

SetDlgItemText(IDC_EDIT_ID, "Desired Text String")

其中IDC_EDIT_ID 是编辑控件的ID(在properties 窗口中设置)

【讨论】:

以上是关于mfc中如何设置编辑框\按钮的外观的主要内容,如果未能解决你的问题,请参考以下文章

在 mfc 中单击按钮时更改编辑框内容

mfc 动态更新编辑框内容

mfc 如何使编辑框和变量关联

如何将自旋控件关联到 MFC 中的不同编辑框

在mfc怎样在工具条中添加编辑框

MFC控件编程之 按钮编辑框.静态文本的使用