社区
界面
帖子详情
双缓冲背景颜色设置(急!!)
RedHat_net
2008-11-20 02:47:38
利用了双缓冲显示文字!!现在已经显示了,原来这个对话框的背景颜色是蓝色,用双缓冲显示的区域是整个对话框的一部分,显示成黑色,我想对这个进行设置,可不知道该怎么设置才对,我用setbkmode,这个方法只是将文字所在的区域变成了透明啊!!可整个位图的颜色该怎么设置呢??用什么方法??
在线狂等,急求!!
...全文
210
5
打赏
收藏
双缓冲背景颜色设置(急!!)
利用了双缓冲显示文字!!现在已经显示了,原来这个对话框的背景颜色是蓝色,用双缓冲显示的区域是整个对话框的一部分,显示成黑色,我想对这个进行设置,可不知道该怎么设置才对,我用setbkmode,这个方法只是将文字所在的区域变成了透明啊!!可整个位图的颜色该怎么设置呢??用什么方法?? 在线狂等,急求!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
RedHat_net
2008-11-20
打赏
举报
回复
我重新调试了一下,发现是显示区域的事啊,我把代码贴上来,帮我分析一下吧!
GetWindowRect( hwnd, &rcWindBounds);
RECT pRect;
pRect.bottom = rcWindBounds.bottom;
pRect.left = rcWindBounds.left + 40;
pRect.right = rcWindBounds.right-50;
pRect.top = PLUG_HEIGHT / 2;//PLUG_HEIGHT = 36
pDC = ::CreateCompatibleDC(hDC);
pBitmap = ::CreateCompatibleBitmap(hDC,pRect.right - pRect.left,pRect.bottom - pRect.top);
::SelectObject(pDC,pBitmap);
::SetBkColor(pDC,RGB(255,0,0));
::SetTextColor(pDC,RGB(226,226,52));
HBRUSH br;
br = ::CreateSolidBrush(RGB(255,0,0));
::FillRect(pDC,&pRect,br);
::ExtTextOut(pDC, 0, 0, ETO_RTLREADING, &pRect, _T("北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京"), 6, 0);
::BitBlt(hDC,pRect.left,pRect.top,pRect.right - pRect.left,pRect.bottom - pRect.top,pDC,0,0,SRCCOPY);
::DeleteDC(pDC);
有兴趣的,加我Q14645094我把效果给你发过去,一起讨论一下!
Tinary3v0
2008-11-20
打赏
举报
回复
void C**Dlg::OnMouseMove(UINT nFlags, CPoint point)
{
CDC *pdc=this->GetDC();
CDC MenDC;
CBitmap bm;
MenDC.CreateCompatibleDC(pdc);
bm.CreateCompatibleBitmap(pdc,1000,1000);
MenDC.SelectObject(&bm);
MenDC.FillSolidRect(0,0,1000,1000,RGB(255,255,255)); //这里将屏幕清成白色了,你根据情况自己改,里面的1000是位图的宽度和高度
//
//-------------------------------------------------------------------
DrawAll(&MenDC);
//-------------------------------------------------------------------
pdc->BitBlt(0,0,1000,1000,&MenDC,0,0,SRCCOPY);
MenDC.DeleteDC();
bm.DeleteObject();
ReleaseDC(pdc);
CDialog::OnMouseMove(nFlags, point);
}
RedHat_net
2008-11-20
打赏
举报
回复
第一,我这个应该算是个按钮,当获得焦点的时候,背景颜色是高亮显示的啊,所以背景是变化的,如果你用固定的一个背景作为双缓冲的背景,显示文字的区域就不能实现被选中和选中的状态!
第二,我觉得这个地方只要能设置位图为透明的,就可以不用顾虑到整个区域是否是高亮显示或是正常显示了!!
第三,具体用什么样的方法,我有点不太清楚啊!!
cnzdgs
2008-11-20
打赏
举报
回复
用SetBkColor设置背景颜色,然后用ExtTextOut,指定整个位图矩形,用ETO_OPAQUE标志:
::ExtTextOut(hDC, 0, 0, ETO_OPAQUE, &rc, NULL, 0, NULL);
快乐鹦鹉
2008-11-20
打赏
举报
回复
把界面中需要显示文字的区域作为双缓冲的背景色,再这之上显示文字,再覆盖到原区域。
2019.5.5_我能做到,哈哈哈哈_pygame突击
复习的有点儿
急
!以后返回来改好,原文大佬是2011年写的但是依然经典,不过是拿python2 写的,我稍微改了改,大BUG应该没有,可能有小问题,我会回来改的相信我!! 写这个玩意儿时还出现点儿小问题,哈哈 摘自这...
一步一步教你实现CTreeCtrl 自绘
现在有了DC我们就可以绘制了,在这里我们为了让它绘制的时候不闪烁我们用
双缓冲
,于是乎我们有了下面的代码。 [cpp] view plain copy CPaintDC dc( this ); // device context for painting ...
交通灯报告
交通灯1、绪论1.1交通灯的背景1.1.1交通灯的历史1.1.2交通灯的出现1.2交通灯的意义2、系统方案设计与要求2.1单片机交通灯控制系统通行方案设计2.2单片机交通控制系统的功能要求2.2.1显示模块功能2.2.2 按键模块功能...
福利!100多条Qt开发常见问题及解决方法汇总!很长建议先收藏
比如qss的ANSI编码、嵌套窗口中主窗口无法接收鼠标移动事件等,又比如我用qss
设置
窗口样式,但是项目每次重新构建以后,样式表就会不生效等问题,也花了自己不少时间去解决,所以在这里转发大神的经验,留作以后参考...
基于智能空间布局优化的系留低空应
急
通信系统设计及研究
1.1 研究背景和意义 目前国防科研及应用领域中,应
急
通信具有很大的应用前景。因为我国是自然灾害频发的国家之一,尤其是近年随着国民经济的快速发展,生产规模的持续扩大,灾害造成的各项损失也在逐年增长。然而...
界面
15,979
社区成员
115,896
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章