如何使CView上的Static变成透明?

leepyzh 2003-08-06 10:04:15
我的程序是单文档,CView类,我在上面放了一个CStatic控件。

现在我想这个static透明,不知如何办?我搜了一下以前的帖子,多半是问如何使Dialog上的Static控件透明,方法是重载CDialog::OnCtlColor函数。而我放在CView上,没有这个函数可以重载呀!

谢谢高手指教!
...全文
99 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
leepyzh 2003-08-07
  • 打赏
  • 举报
回复
waiting......
leepyzh 2003-08-07
  • 打赏
  • 举报
回复
to joy0861(深呼吸)

我的Static是动态创建的,View为标准的CView类,不是CFormView。不能重载OnCtlColor。
思危 2003-08-07
  • 打赏
  • 举报
回复
可以重载,不过要设置一下,你也可以直接把对话框中的代码拷过来,视图有OnCtlColor消息
joy0861 2003-08-06
  • 打赏
  • 举报
回复
HBRUSH CMyView::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CRecordView::OnCtlColor(pDC, pWnd, nCtlColor);//这里有重载

// TODO: Change any attributes of the DC here
int nID = pWnd->GetDlgCtrlID();


if(nID==IDC_MYSTATIC)//你的static的名字,最后建好后将它改一下名,不用它的
//默认的ID:IDC_STATIC,关键所在,
//因为有太多的控件默认的都是IDC_STATIC
{
pDC->SetTextColor(RGB(100,20,120)); //设置字体颜色
pDC->SetBkMode(TRANSPARENT);
return HBRUSH(GetStockObject(HOLLOW_BRUSH));
}
return hbr;
}

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧