QQ登录

只需一步,快速开始

23上位机VC MFC设计椭圆形程序界面

[ 复制链接 ]
23上位机VC MFC设计椭圆形程序界面

功能展示
将程序界面设计成不规则窗口,已经可以在众多的娱乐软件中看见,用户被这些软件深深吸引,因为不规则窗口一定程序上减少以往单调的矩形窗口带来的乏味喊,提高操作程序的兴趣,我们当前这例程实现椭圆形不规则窗体,效果如图

23上位机VC MFC设计椭圆形程序界面

23上位机VC MFC设计椭圆形程序界面

要点提示
椭圆形窗口效果主要是通过CWnd类的SetWindowRgn函数来实现不规则效果的, SetWindowRgn函数主要实现 将窗口设置成特殊矩形的功能,语法:
int SetWindowRgn( HRGN hRgn, BOOL bRedraw );
hRgn  HRGN对象句柄。
bRedraw是否重绘。

实现功能
1.新建一个对话框的应用程序
2.添加一个位图做为程序界面的背景
3.在程序对话框的OnInitDialog()函数中实现窗口的椭圆形效果
CRgn wndRgn;
        CBitmap BT;
        BITMAP bm;
        BT.LoadBitmap(IDB_BITMAP1);
        BT.GetBitmap(&bm);
        wndRgn.CreateEllipticRgn(0,0,bm.bmWidth,bm.bmHeight);
        SetWindowRgn((HRGN)wndRgn,true);
4 .在OnPaint() 函数中加载窗口位图
        CPaintDC dc(this);
                CRect rect;
                GetWindowRect(&rect);
                CDC memDC;
                CBitmap cBitmap;
                CBitmap* pOldMemBmp=NULL;
                cBitmap.LoadBitmap(IDB_BITMAP1);
                memDC.CreateCompatibleDC(&dc);
                pOldMemBmp=memDC.SelectObject(&cBitmap);
                dc.BitBlt(0,0,rect.Width(),rect.Height(),&memDC,0,0,SRCCOPY);
                if(pOldMemBmp)
                        memDC.SelectObject(pOldMemBmp);
5.最后我们还得将对话框资源的属性进行设置,将对话框的边框属性设置为NONE,将类型设置为POPUP
这样我们就实现了椭圆形窗口,但是我们的窗口却不能拖动,如果想用鼠标拖动窗口的话,我们得对鼠标右键按钮下消息进行小小处理:在OnLButtonDown()函数中发送一个消息便可,         SendMessage(WM_SYSCOMMAND,SC_MOVE|HTCAPTION,0);;

我们演示椭圆形窗口实现的整个过程

源码及视频下载
(仅在电脑可见)
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:23.上位机VC MFC设计椭圆形程序界面.rar 
文件大小:165.79 KB  售价:10金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我

  

您的支持是我们创作的动力!  

  

您可花点闲钱积分自助任意充值

  

成为VIP会员 全站资源任意下载永久更新!



回复

使用道具 举报

快速回复 返回列表 客服中心 搜索