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中如何设置编辑框\按钮的外观的主要内容,如果未能解决你的问题,请参考以下文章