求教Static Text问题; 想封装StaticText 使之具有制定带背景图片,制定文字颜色的功能,应该封装那些属性重载那些函数呢,我重绘了背景,却被对话框绘成了原来的样子,怎么处理呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 重载WM_ERASEBKGND, 重绘背景后返回TRUE 自动加上的那个CDialog::OnEraseBkgnd(pDC)去掉了吗? http://www.codeguru.com/Cpp/controls/staticctrl/ 去掉 return CStatic::OnEraseBkgnd(pDC);直接return TRUE; 我的代码BOOL CBKStatic::OnEraseBkgnd(CDC* pDC) { // TODO: Add your message handler code here and/or call default if(m_bkresourceid) { CRect rc; GetClientRect(&rc); m_bitmap.LoadBitmap(m_bkresourceid); m_bitmap.GetObject (sizeof(BITMAP),&bmp); memDC.CreateCompatibleDC (pDC); memDC.SelectObject (m_bitmap); pDC->BitBlt(0,0,rc.Width(),rc.Height(),&memDC,0,0,SRCCOPY); return TRUE; } else { return CBKStatic::OnEraseBkgnd(pDC); }} if(m_bkresourceid)为什么要判断这个。 m_bkresourceid是我传入的资源的ID,如果没传就执行默认的操作,穿了的话就执行绘制背景的操作,顺便问一下,是不是我还需要封装别的什么函数,或者在使用它的实例的时候需要做其他的事情, memDC.SelectObject (m_bitmap);应该是memDC.SelectObject (&m_bitmap); 谢谢大家提示,我已经改了,但是我这里出现的奇怪现象就是,如果我给这个封装的类添加了OnPrint消息,即使里面什么都不作,他就会绘制出北景来,否则,怎么改动OnEraseBkgnd都不能显示出背景来,这是为什么,WM_PRINT 和WM_EraseBkgnd有什么关系吗?? 逐行读取txt文件的内容 MFC参数的传递 关于cs.style的问题 请问各位有没有遇到这样的问题 ADO访问Access问题 菜单换肤怎么做 wince wincore line 1185错误是什么 救命呀!!!!!!! 救命啦!我的子菜单能看不能用。 你好,运行库是不是也是用API编写的,, 怎么判断一个程序是有界面的还是dos的啊 只有WORD 可以直接100%拷贝IE网页内容,其它编辑软件都要损失图片等信息?
BOOL CBKStatic::OnEraseBkgnd(CDC* pDC)
{
// TODO: Add your message handler code here and/or call default
if(m_bkresourceid)
{
CRect rc;
GetClientRect(&rc);
m_bitmap.LoadBitmap(m_bkresourceid);
m_bitmap.GetObject (sizeof(BITMAP),&bmp);
memDC.CreateCompatibleDC (pDC);
memDC.SelectObject (m_bitmap);
pDC->BitBlt(0,0,rc.Width(),rc.Height(),&memDC,0,0,SRCCOPY);
return TRUE;
}
else
{
return CBKStatic::OnEraseBkgnd(pDC);
}
}
应该是memDC.SelectObject (&m_bitmap);