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下会出错.各位高手救命啊!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
解决方案 »
- 出现 illegal call of non-static member function ??
- 问个低级的小问题,高手们说下啊
- 之前是看别人辞职,现在到自己了,散分~~
- 关于树型结构
- 请教一个关于线程的问题。
- 简单问题,如何用SQL语句实现查询操作
- ATLCom中的接口参数类型VARIANT如何赋值给BSTR类型的私有变量
- 请问哪位大侠有编写dll的电子书或文档,帮帮小弟吗?
- VC++网络通信的问题,高分!!!!
- 谁帮我改改这段代码啊,问题解决立即给分,关于UNNICODE下字符串的
- 在网络通信开发中,我需要在服务器和客户端建立100个连接,请问怎样用多线程的方式来实现呢?!
- 为什莫在98下FillRgn会出错,急急急急!!!!!!!!!!!!!!
这个是干吗用的?
void FillRect( LPCRECT lpRect, CBrush* pBrush );dc.FillRect就可以了。。
另外,HBRUSH hBrush = CreatePatternBrush(m_hMain);
hMain是bmp的句柄?是否涉及到选取设备没有释放,这样在OnPaint肯定会出错!
RECT rt;
GetClientRect(&rt);
HRGN hRgn = CreateRectRgn(rt.left,rt.top,rt.right,rt.bottom);
HBRUSH hBrush = CreateSolidBrush(RGB(0,0,0));
FillRgn(dc.m_hDC,hRgn,hBrush);
DeleteObject(hRgn);
DeleteObject(hBrush);
上面只是一个例子而已,其中m_hMain为位图。
在Win2000下能正常显示,但是在98下却不能。?????????????????????
画出的region为错图