用这个,不清楚来函[email protected] CShowDlg::SetRgn(CDC *pDC)
{
CBitmap c_bitmap;
CBitmap *pOldmap;
CDC memDC;
CRgn rgnTemp,rgnWin;
BITMAP bitmap;
COLORREF colMask,colCur;
CRect rect,rect1;
GetWindowRect(&rect);
c_bitmap.LoadBitmap(IDB_BITMAP2);
//装载掩码输位图
c_bitmap.GetBitmap(&bitmap);
//得到位图信息
rect1.SetRect(rect.TopLeft(),CPoint(bitmap.bmWidth,bitmap.bmHeight));
memDC.CreateCompatibleDC(pDC);
//建立兼容内存设备
pOldmap=memDC.SelectObject(&c_bitmap);
//建立位图内存映象
rgnWin.CreateRectRgn(0,0,bitmap.bmWidth,bitmap.bmHeight);
//建立位图区域
colMask=memDC.GetPixel(0,0);
for(int i=0;i<=bitmap.bmWidth;i++)
{
for(int j=0;j<=bitmap.bmHeight;j++)
{
colCur=memDC.GetPixel(i,j);
if(colCur==colMask)
{
rgnTemp.CreateRectRgn(i,j,i+1,j+1);
rgnWin.CombineRgn(&rgnWin,&rgnTemp,RGN_XOR);
rgnTemp.DeleteObject();
}
}
}
if (pOldmap) memDC.SelectObject(pOldmap);
SetWindowRgn((HRGN)rgnWin,TRUE);
MoveWindow(&rect1,TRUE);
InvalidateRect(NULL,TRUE);
}
{
CBitmap c_bitmap;
CBitmap *pOldmap;
CDC memDC;
CRgn rgnTemp,rgnWin;
BITMAP bitmap;
COLORREF colMask,colCur;
CRect rect,rect1;
GetWindowRect(&rect);
c_bitmap.LoadBitmap(IDB_BITMAP2);
//装载掩码输位图
c_bitmap.GetBitmap(&bitmap);
//得到位图信息
rect1.SetRect(rect.TopLeft(),CPoint(bitmap.bmWidth,bitmap.bmHeight));
memDC.CreateCompatibleDC(pDC);
//建立兼容内存设备
pOldmap=memDC.SelectObject(&c_bitmap);
//建立位图内存映象
rgnWin.CreateRectRgn(0,0,bitmap.bmWidth,bitmap.bmHeight);
//建立位图区域
colMask=memDC.GetPixel(0,0);
for(int i=0;i<=bitmap.bmWidth;i++)
{
for(int j=0;j<=bitmap.bmHeight;j++)
{
colCur=memDC.GetPixel(i,j);
if(colCur==colMask)
{
rgnTemp.CreateRectRgn(i,j,i+1,j+1);
rgnWin.CombineRgn(&rgnWin,&rgnTemp,RGN_XOR);
rgnTemp.DeleteObject();
}
}
}
if (pOldmap) memDC.SelectObject(pOldmap);
SetWindowRgn((HRGN)rgnWin,TRUE);
MoveWindow(&rect1,TRUE);
InvalidateRect(NULL,TRUE);
}
解决方案 »
- 用OnTimer检测mcisendstring的状态
- 10年毕业,拿到了当初以为混6年才能拿到的薪水。仍然失落
- exception in xxx.exe(KERNEL32.DLL):0xE06D7363:Microsoft C++ Exception
- 怎样查找一个文件夹中的内容?
- 各位用过DrawDib系列视频函数显示视频的大侠近来看看,这是怎么回事?
- 关于CTreeCtrl的labeledit的问题
- 如果不用MFC的话,怎样读取并且显示GIF的图像?
- CTreeCtrl中如何区分点击图标和点击Item事件? (Up有分)
- 我想找出所有笔画为10的繁体汉字,有什么办法没有?
- VC中调用dynamicTwain activex 3.0
- 在CEDITVIEW中用TEXTOUT输出的文本,如何使用SCROLLBAR控制浏览呢?
- WideCharToMultiByte中转换小语种喝unicode的代码是什么?
代码在Codeguru搜索可得到