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下会出错.各位高手救命啊!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

解决方案 »

  1.   

    画出来的图是乱图形。
    Win2K和98不同。
      

  2.   

    有没有包含Gdi32.lib啦?还有可以跟踪看一下dc创建是不是成功啊?
      

  3.   

    产生刷自不应该放在OnPaint函数里,应该在初始化函数里
      

  4.   

    HBRUSH hBrush = CreatePatternBrush(m_hMain);
    你的m_hMain在什么地方初始化的?
    怀疑是这句除了问题,可以调试跟踪一下。看是否hBrush是否为空。
      

  5.   

    HBRUSH hBrush是在Dialog初始化时创建的,HRG也是在Dialog初始化时创建的,
    上面只是一个例子而已,其中m_hMain为位图。
    在Win2000下能正常显示,但是在98下却不能。?????????????????????
      

  6.   

    在region中才有问题,RECT没有问题。(98系统下)