社区
界面
帖子详情
改变对话框背景后得问题
zhangshengyu
2006-06-15 04:23:24
有一些控件在对话框改变背景后,自己得背景特别难看,怎么把他自己得背景弄成透明的?
比如 STATIC CHECKBOX GOURPBOX etc.
...全文
303
14
打赏
收藏
改变对话框背景后得问题
有一些控件在对话框改变背景后,自己得背景特别难看,怎么把他自己得背景弄成透明的? 比如 STATIC CHECKBOX GOURPBOX etc.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jzjking
2006-07-07
打赏
举报
回复
void CTestDlg::OnPaint()
{
CRect r;
GetClientRect(&r);
CPaintDC dc(this);
CRect rect=CRect(0,0,r.Width()*0.2,r.Height()*0.3);
//GetClientRect(&rect);//µÃµ½´°ÌåµÄ´óС
CDC dcMem;
dcMem.CreateCompatibleDC(&dc);
CBitmap bmpBackground;
bmpBackground.LoadBitmap(IDB_BITMAP2);//¼ÓÔر³¾°Í¼Æ¬
BITMAP bitMap;
bmpBackground.GetBitmap(&bitMap);
CBitmap *pbmpOld=dcMem.SelectObject(&bmpBackground);
dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,bitMap.bmWidth,bitMap.bmHeight,SRCCOPY);
}
livedeal
2006-07-07
打赏
举报
回复
留底~
zhangshengyu
2006-07-06
打赏
举报
回复
不用自绘,也不能自绘,关键是如何把背景的画刷弄成透明的。
psbeond
2006-07-06
打赏
举报
回复
大家说的都不会,要自绘的。每一个控件自绘的方法不一样。
zhangshengyu
2006-07-06
打赏
举报
回复
用loomman说的 还是黑的
而hopewzy1982 说的只能在某些情况下用。
我是改变了背景,不是颜色,也就是说对话框背景不是一个颜色,而是渐变的。
南安风语者
2006-06-28
打赏
举报
回复
楼上的说的对,在OnCtlColor中用SetBkMode,不过SetTextColor是设置字体的颜色,想设置控件颜色的话可以如下
HBRUSH CControlTestDlg::OnCtlColor( CDC* pDC, CWnd* pWnd,UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor( pDC, pWnd, nCtlColor);
hbr = CreateSolidBrush( RGB( 0,0,255));
switch( nCtlColor) {
case CTLCOLOR_STATIC:
pDC->SetBkMode( TRANSPARENT);
hbr = CreateSolidBrush( RGB( 255,255,0));
break;
default:
break;
}
return hbr;
}
一剑
2006-06-27
打赏
举报
回复
CBrush m_HollowBrush;
CBrush m_WhiteBrush;
在OnInitDialog()中:
m_HollowBrush.CreateStockObject(HOLLOW_BRUSH);//创建一个无效的刷子
m_WhiteBrush.CreateSolidBrush(RGB(225,225,225));//创建一个白色刷子
HBRUSH CXXXDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
switch(nCtlColor)
{
case CTLCOLOR_STATIC:
pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(255,0,0));
return HBRUSH(m_HollowBrush);
case CTLCOLOR_EDIT:
pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(255,0,0));
pDC->SetBkColor(RGB(225,225,225));
return HBRUSH(m_WhiteBrush);
default:
break;
}
HBRUSH hbr = CBDialog::OnCtlColor(pDC, pWnd, nCtlColor);
return hbr;
}
zhangshengyu
2006-06-27
打赏
举报
回复
WM_CTLCOLOR 我用了,在XP下用XP界面,STATIC 可以
但是CHECKBOX不行——变成黑的了。
allenhiman
2006-06-26
打赏
举报
回复
WM_CTLCOLOR
zhangshengyu
2006-06-26
打赏
举报
回复
老大们,你们到底有没有试过啊。
pitter211
2006-06-24
打赏
举报
回复
可以设置控件属性啊 setwindowlong 然后再置为transparent试试
zhangshengyu
2006-06-16
打赏
举报
回复
顶啊
zhangshengyu
2006-06-15
打赏
举报
回复
我是在对话框ONPAINT里自绘改变了对话框的颜色和背景,放上去的控件就不能弄成透明。设置transparent没用。
handsomerun
2006-06-15
打赏
举报
回复
static有控件不是有一个属性的吗,transparent,把他勾上,就ok、
其他也一样
改变
对话框
背景
颜色的MFC代码
该代码用旋转按钮调整RGB三个参数的值,实现了
对话框
背景
颜色的变换(用Hscoll函数实现)
改变
对话框
背景
颜色
改变
对话框
背景
颜色
如何
改变
对话框
背景
可以运行的
改变
对话框
背景
色的MFC程序,VC++6.0做的
MFC
改变
对话框
背景
和文字颜色.rar
改变
mfc工程
对话框
的
背景
颜色 显示的文字颜色不同的方法 自绘按钮样式的
改变
和鼠标样式的
改变
给
对话框
加载位图
背景
给单独的edit button static 等控件添加不同颜色样式等 有同步的文档结合代码进行了详细的说明 ...
MFC
对话框
背景
图片
改变
代码
主要把自己添加资源设置为MFC
对话框
显示
背景
界面
15,979
社区成员
115,897
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章