+ -
当前位置:首页 → 问答吧 → 按钮自绘的问题【纠结了一晚上】

按钮自绘的问题【纠结了一晚上】

时间:2011-12-22

来源:互联网

C/C++ code
void CTempButton::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
{
    //CButton::DrawItem(lpDrawItemStruct);
    //CBitmap bitmap;
    //BITMAP bt;
    CDC *bdc=CDC::FromHandle(lpDrawItemStruct->hDC);
    CDC dc;
    dc.CreateCompatibleDC(bdc);
    dc.SelectObject(&tu[state]);
    bdc->BitBlt(0,0,lpDrawItemStruct->rcItem.right-lpDrawItemStruct->rcItem.left,
        lpDrawItemStruct->rcItem.top-lpDrawItemStruct->rcItem.bottom,&dc,0,0,SRCCOPY);
    ReleaseDC(bdc);
}

这是我写的drawitem函数。。 完成贴图功能。 
为啥我运行后 按钮就不见了 不能显示了

昨天晚上还能运行 我啥都没改 今天早上就出现了问题、、、
报错为1>button.rc(170): error RC2170: bitmap file E:\
这是啥意思啊。 求大牛指点指点我等菜鸟。。。

作者: biegaoshuwoya   发布时间: 2011-12-22

有没人啊 帮我下啦、

作者: biegaoshuwoya   发布时间: 2011-12-22

.rc里报错,一般是资源文件找不到,lz可以打开那个rc的170行看看写的啥再说

ps,程序是不会骗人的,肯定有什么被动过,灵异事件不会发生在二进制世界里,细心找找问题才是王道

作者: just_swizard   发布时间: 2011-12-22

引用 2 楼 just_swizard 的回复:
.rc里报错,一般是资源文件找不到,lz可以打开那个rc的170行看看写的啥再说

ps,程序是不会骗人的,肯定有什么被动过,灵异事件不会发生在二进制世界里,细心找找问题才是王道

我觉得我写的那个函数有问题、 贴图一直出不来。 
我把图删掉重新载入 没的上面那个错误了
但是还是不能显示按钮、、

作者: biegaoshuwoya   发布时间: 2011-12-22

求大神指点下
初次弄自绘

作者: biegaoshuwoya   发布时间: 2011-12-22

打断点单步调试,看你这段究竟有没有效果,也有可能是自绘成功了,但又被覆盖了
隐约记得自绘还要重载OnEraseBkgnd,里面直接return 0;让系统不要重绘背景

作者: just_swizard   发布时间: 2011-12-22