请问如何创建透明的CRichEditCtrl对象

samsun2000 samsun2000 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
先声明 网上有一些例子用类似于以下的代码
HBRUSH CTESTDLG::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

if((nCtlColor == CTLCOLOR_EDIT) && (pWnd->GetDlgCtrlID()==IDC_EDIT))
{
pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(255,0,0));
return HBRUSH(GetStockObject(HOLLOW_BRUSH));
}
}
这种方法在我的环境下不太适用。可能因为他的对象是CEdit类,而我的是CRichEditCtrl
也可能因为它的父窗口是CDialog,而我的是CWnd.还有可能是我的CRichEditCtrl或父窗口CMyWnd的Create参数有问题。

总之 我在程序中加了这个方法,而这个方法从来不被调用。有朋友知道怎么解决这个问题吗?我的程序写了不少代码了,要把CWnd换成CDialog或把CRichEditCtrl换成CEdit都不太现实。

求助
...全文
评论 5
收藏 已收藏
分享
返回顶部
samsun2000
界面 15,976 成员 115,866 内容