MFC 做不规则对话框
来源:互联网 发布:为什么会出现数据冗余 编辑:程序博客网 时间:2024/05/20 16:42
根据图片颜色值来做不规则对话框
声明一个成员变量:CBitmap m_bmpDraw;
在OnInitDialog()加载图片:m_bmpDraw.LoadBitmap(IDB_BG_USERINFO);
//这个函数最好在OnInitDialog()调用,初始化执行一次就可以了
void CUserInfoControl::SetupRegion(CDC *pDC)
{
CDC memDC;
CBitmap &cBitmap=m_bmpDraw;
CBitmap* pOldMemBmp = NULL;
COLORREF col,colMask;
CRect cRect;
int x, y;
CRgn wndRgn, rgnTemp;
GetWindowRect(&cRect);
CPoint ptOrg=cRect.TopLeft();
BITMAP bmInfo;
cBitmap.GetObject(sizeof(bmInfo),&bmInfo);
CRect rcNewWnd=CRect(ptOrg,CSize(bmInfo.bmWidth,bmInfo.bmHeight));
memDC.CreateCompatibleDC(pDC);
pOldMemBmp = memDC.SelectObject(&cBitmap);
colMask=memDC.GetPixel(0,0);
wndRgn.CreateRectRgn(0, 0, rcNewWnd.Width(), rcNewWnd.Height());
for(x=0; x<=rcNewWnd.Width(); x++)
{
for(y=0; y<=rcNewWnd.Height(); y++)
{
col = memDC.GetPixel(x, y);
if(col == colMask)
{
rgnTemp.CreateRectRgn(x, y, x+1, y+1);
wndRgn.CombineRgn(&wndRgn, &rgnTemp, RGN_XOR);
rgnTemp.DeleteObject();
}
}
}
memDC.SelectObject(pOldMemBmp);
SetWindowRgn((HRGN)wndRgn, TRUE);
}
网易博客:http://shaojiang216.blog.163.com/blog/static/131325824201192252353405/
- MFC 做不规则对话框
- mfc 不规则对话框
- MFC 不规则对话框(加载png 为背景)
- mfc 使用jpg图片做对话框背景
- 不规则对话框窗口
- 不规则对话框的制造
- 创建不规则对话框
- 设置不规则对话框
- MFC制作不规则窗体
- MFC 不规则窗口 SetWindowRgn
- mfc创建不规则窗口
- MFC不规则窗体
- MFC创建不规则窗口
- MFC 绘制不规则窗体
- MFC 创建不规则窗体
- MFC绘制不规则线条
- MFC制作不规则窗体
- MFC不规则窗口
- android中styles的使用
- 一道笔试题,去除首尾空白符,中间若有连续空格则保留一个,若出现换行则保留一个换行
- |myEclipse中代码的修改不起作用
- 你幸福了吗&顺其自然 用尽全力
- BCB 水波效果
- MFC 做不规则对话框
- Drawable资源
- 计算某个文件或文件夹的大小 文件夹内可能含有子文件夹
- 2011级同学加分通知(只针对河软高校俱乐部2011级同学)
- 类,对象和实例深入理解
- javascript 正则表达式
- Understanding basic database terminology
- 关于在线程中使用AfxGetMainWnd()出错的问题,终于找到了
- C++ 要点