标题:动态创建的Edit控件相关操作问题
只看楼主
鸿蒙之灵
Rank: 4
来 自:异次元裂缝
等 级:贵宾
威 望:11
帖 子:126
专家分:244
注 册:2016-8-22
结帖率:66.67%
 问题点数:0 回复次数:1 
动态创建的Edit控件相关操作问题
有一个CEdit edit;的变量申明,然后在View.cpp中对其进行了动态创建,使用的是
edit.Create(WS_CHILD|WS_VISIBLE,CRect(ScreenPoint.x+253+100,ScreenPoint.y+305,ScreenPoint.x+645+100,ScreenPoint.y+325),this,123);


调用时用

GZPDedit.ShowWindow(SW_SHOW);


现有疑问,我要如何做,才可以实现对其背景颜色和字体颜色的改变,该问题比较急,希望各位大佬提供点帮助
搜索更多相关主题的帖子: Edit 控件 动态创建 操作 背景颜色 
2020-07-09 13:04
鸿蒙之灵
Rank: 4
来 自:异次元裂缝
等 级:贵宾
威 望:11
帖 子:126
专家分:244
注 册:2016-8-22
得分:0 
已经解决了,在此对大家分享一下解决方法

首先从我create那里可以看到,我动态创建的edit控件,动态分配的ID值为 123

其次,在pView的cpp文件中增加消息  OnCtlColor 进行处理,重新设置其字体颜色,具体如下:

.h文件中增加消息函数声明(也可以利用自动添加消息机制的面板操作进行,我这里是手敲)

public:
    afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);


.cpp函数中
程序代码:

BEGIN_MESSAGE_MAP(CMonitorView, CScrollView)
    ON_WM_CTLCOLOR()   //增加消息
END_MESSAGE_MAP()

HBRUSH CmmmView::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
    HBRUSH hbr = CScrollView::OnCtlColor(pDC, pWnd, nCtlColor);

    // TODO:  在此更改 DC 的任何属性
    if(pWnd->GetDlgCtrlID() == 123)
    {
        pDC->SetBkMode(TRANSPARENT);
        pDC->SetTextColor(RGB(21,35,72));
        //return (HBRUSH)::GetStockObject(BLACK_BRUSH); 
    }
    // TODO:  如果默认的不是所需画笔,则返回另一个画笔
    return hbr;
}

对待编程,要像对待情人一样
2020-07-09 14:54



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-502453-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016396 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved