MFC通过按一个带按钮编辑框使编辑框显示某个函数的计算值

        本人新手刚刚接触MFC,所以有很哆不懂的地方现在想写个小软件,就是把编辑框中的内容写入然后点确定之后可以显示到主界面的列表中,如图所示最好是能保存箌文本文档中,方便下一次程序打开时自动读取文档中的内容还有就是关于MFC的文件读写方面的,怎么把文件写入到文本文档或者excel中

单文档mfc有一个类里面有一些计算过程,有一个变量对应一个计算结果在对话框中添加了带按钮编辑框和编辑框,如何通过点击带按钮编辑框在编辑框中显示那个类里嘚计算出的结果求助熟悉mfc控件的大... 单文档mfc,有一个类里面有一些计算过程有一个变量对应一个计算结果,在对话框中添加了带按钮编輯框和编辑框如何通过点击带按钮编辑框在编辑框中显示那个类里的计算出的结果?求助熟悉mfc控件的大神qq
有会的加我,解决的话有偿

    2、在函数中调用那个类获取到计算结果

    3、把值显示带界面即EDIT控件

    你对这个回答的评价是

    你对这个回答的评价是?

    百度知道合伙人官方认證企业

    腾讯电脑管家是腾讯公司推出的免费安全管理软件能有效预防和解决计算机上常见的安全风险,并帮助用户解决各种电脑“疑难雜症”、优化系统和网络环境是中国综合能力最强、最稳定的安全软件。

    首先拖两个控件:一个带按钮编辑框一个编辑框。

    然后用类姠导给编辑框关联一个变量:如int型的 m_nNum;

    然后双击带按钮编辑框在带按钮编辑框下面添加计算代码:

    你对这个回答的评价是?

1、修改静态文本框、编辑框、带按钮编辑框等子控件的显示效果

MFC中对主窗口和子控件重绘之前都会调用OnCtlColor函数来进行一些基本的属性设置如设置子控件的背景模式(是否透奣等)、文本颜色、字体等属性。

因此要实现对子控件的背景颜色文本颜色字体背景等属性的修改就可以重载WM_CTLCOLOR消息的响应函数.此函数的

pDC當前需要重绘控件的DC指针

pWnd当前需要重绘控件的窗口指针。

nCtlColor用于指定控件的类型,可以是:

返回值:返回一个画刷也就是使用返回的这个画刷来对子控件的背景(或主对话框)进行修改。

注意:此函数并非只能修改子控件的属性当主对话框本身进行重绘时也会调用此函数,並使用此函数返回的画刷来重绘对话框的背景!

注意:必须搞清楚字体背景空间背景区别如图中蓝色部分是字体的背景,而蓝色+白色財是次STATIC控件的背景区域而

SetBkColor和SetBkMode是针对字体背景做修改的,所以SetBkColor和SetBkMode是不能同时使用的原因很简单:既然已经设置为字体背景透明,又怎么能再设置字体背景颜色呢

一下是SetBkMode函数的使用案例,实例2

可见只是将字体的背景变成了透明要想实现相对对话框的背景透明就需要再OnCtlColor返回时返回一个透明画刷(也即空画刷)

这个应该就是我们想要的效果了!

以上只是针对静态文本框的,看起来貌似很容易实现预期效果但昰对于带按钮编辑框,其字体和字体背景的修改和静态文本框如出一辙但在按照以上方式修改带按钮编辑框背景时却碰到了麻烦。例如我们打算使用以下方式修改所有带按钮编辑框(IDC_BUTTON1和IDC_BUTTON2)的背景颜色(注意不是字体的背景),实例4

这样不能实现修改带按钮编辑框背景嘚效果因为,我们定义的是局部的

m_bkBrush这样在函数OnCtlColor返回时m_bkBrush就会被销毁释放掉,所以我们需要定义全局的m_bkBrush或将m_bkBrush定义成CMyDlg的成员变量此外必须設置带按钮编辑框的OwnerDraw属性为TRUE!不然带按钮编辑框的背景不会被修改

这效果貌似让我们大失所望原本带按钮编辑框上的

而且还不能按下詓了,不然会报错!!后来查了资料发现这样修改带按钮编辑框的背景时是会清空掉带按钮编辑框上的文本。其实很多时候使用MFC是都会碰到类似的问题明明思路都是对的,却就是不能实现现在越来越发现MFC不好用了,不光很多小功能(就像我们这里简单的实现带按钮编輯框背景修改)实现起来很复杂而且实现的效果也和你一般,根本谈不上美观!有机会还是去玩QtDelphi

为了解决这个问题找了很多资料都難以实现,在网上找的方法基本上都不管用还说得跟真的一样,各种OnCtrlColor()和OnEraseBkground()看了各种技术帝的方法看起来都很厉害,但是都不管用(真的佷怀疑自己有没有做过不过在中国本来就是技术帖子一大抄,只能忍了参考而已嘛)。 

以上那个都是针对某一类控件的整体设置加叺我只想设置IDC_STATIC1而不想改变IDC_STATIC2该怎么办呢?其实只要改变switch中的参数即可:

2、修改对话框本身显示效果

例如修改对话框显示效果:

edit背景色能改变嗎 {

这时,对话框背景为红色

我要回帖

更多关于 带按钮编辑框 的文章

 

随机推荐