如何制做带背景的对话框

本例将要使用的函数定义如下:
BOOL BitBlt( int x, int y, int nWidth, int nHeight, CDC* pSrcDC, int xSrc, int ySrc, DWORD dwRop );
前面4个参数指的是目标设备;
(5)指的是原设备句柄
(8)指的是复制类别,其可选参数如下:
BLACKNESS表示全部复制成黑色;
DSTINVERT
MERGECOPY
MERGEPAINT
NOTSRCCOPY进行反色复制;
NOTSRCERASE进行反色复制;
PATCOPY
PATINVERT
PATPAINT
SRCAND
SRCCOPY表示的是按原样复制;
SRCERASE
SRCINVERT
SRCPAINT
WHITENESS全部复制成白色。
第一步引入一个位图并定义公用变量
CBitmap m_bitmap;//定义一个位图
BITMAP bminfo;//定义一个位图信息
int dlg_h;
int dlg_w;
第二步在对话框构造函数CMyDlg(CWnd* pParent /*=NULL*/)中添置如下代码:
m_bitmap.LoadBitmap(IDB_BITMAP1);
m_bitmap.GetObject(sizeof(BITMAP),&bminfo);
dlg_h=bminfo.bmHeight;
dlg_w=bminfo.bmWidth;
第三步修改OnPaint()中内容如下:
CPaintDC dc(this);//定义一个设备句柄
CDC dcMem;//定义一个设备
dcMem.CreateCompatibleDC(&dc);//将这个设备定义成一个内存设备
dcMem.SelectObject(&m_bitmap);//为这个设备选一个画笔
dc.BitBlt(0,0,dlg_h,dlg_w,&dcMem,0,0,SRCCOPY);
说明:只能定制方形位图。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值