关于换肤贴图的问题,和OffsetRect函数有关
下面是我遇到的问题,是关于贴图时的问题。
rtButtons.right = rtButtons.left - 3; //rtButtons是CRect类的,表示标题栏旁边的帮助按钮
rtButtons.left = rtButtons.right - 19;
pBitmap->LoadBitmap(IDB_HELP_NORMAL);
pOldBitmap=(CBitmap*)pDisplayMemDC->SelectObject(pBitmap);
pDC->BitBlt(rtButtons.left, rtButtons.top, rtButtons.Width(), rtButtons.Height(), pDisplayMemDC, 0, 0, SRCCOPY);
pDisplayMemDC->SelectObject(pOldBitmap);
m_rtButtHelp = rtButtons;
m_rtButtHelp.OffsetRect(rtWnd.TopLeft());
pBitmap->DeleteObject();
m_rtButtHelp.OffsetRect(rtWnd.TopLeft());搞不清这句话是做什么的。按理说是将m_rtButtHelp这个能够覆盖帮助按钮的矩形移动到rtWnd的左上角,但是这么做的意义是什么呢??但是如果我把这句话注释了,鼠标移动到帮助键的图标上,贴图就无法出现,这到底是怎么回事?
m_rtButtHelp.OffsetRect(rtWnd.TopLeft());什么意思,把当前的贴图往rtWnd.TopLeft移动?rtWnd.TopLeft是(0,0)啊,而且把rtWnd.TopLeft替换为(0,0)程序也不正常,rtWnd.TopLeft不是(0,0)么?