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下会出错.各位高手救命啊!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
解决方案 »
- MFC界面参数传递问题
- “显示桌面”对C++窗口的影响
- 发什么消息可以改变CComboBox控件的选中项而不触发CBN_SELCHANGE消息?
- 如何使用SELECT进行CONNECT.
- ftp server上的文件增长后,下载下来的文件还是以前的文件,请帮忙看看↓↓↓
- 求助!在单文档的view中画图。
- 大家讨论一下内存分配、释放的问题
- 国内有有关 directshow 的书吗??????
- 请学习过<WINDOWS程序设计>的大侠们谈谈自己的经验吧?
- 一个计算方法的问题
- 在网络通信开发中,我需要在服务器和客户端建立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为错图