void OnPaint()
{
CPaintDC dc(this);
RECT rt;
GetClientRect(&rt);
HRGN hRgn = CreateRectRgn(rt.left,rt.top,rt.right,rt.bottom);
HBRUSH hBrush = CreatePatternBrush(m_hMain);
FillRgn(dc.m_hDC,hRgn,hBrush);
DeleteObject(hRgn);
DeleteObject(hBrush);
}
在Win98下会出错.各位高手救命啊!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
{
CPaintDC dc(this);
RECT rt;
GetClientRect(&rt);
HRGN hRgn = CreateRectRgn(rt.left,rt.top,rt.right,rt.bottom);
HBRUSH hBrush = CreatePatternBrush(m_hMain);
FillRgn(dc.m_hDC,hRgn,hBrush);
DeleteObject(hRgn);
DeleteObject(hBrush);
}
在Win98下会出错.各位高手救命啊!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Windows NT/2000/XP: Included in Windows NT 3.1 and later.
Windows 95/98/Me: Included in Windows 95 and later.
Header: Declared in Wingdi.h; include Windows.h.
Library: Use Gdi32.lib.
你的m_hMain在什么地方初始化的?
怀疑是这句除了问题,可以调试跟踪一下。看是否hBrush是否为空。
上面只是一个例子而已,其中m_hMain为位图。
在Win2000下能正常显示,但是在98下却不能。?????????????????????
或者不在region里画brush,而是在一般的rect里画,这样可以逐渐发现问题。