三维显示软件制作---GUI部分

来源:互联网 发布:上瘾网络剧新闻发布会 编辑:程序博客网 时间:2024/06/10 06:06

首先是GUI部分的制作 

考虑采用画图板制作出背景图片,通过在WM_ERASEBKGND消息响应中重画来完成GUI的加载

网上提供的材料

1.没找到WM_ERASEBKGND消息:classinfo->Message filter中下拉选中windows  返回message maps即可看到

2. 如何加载:

首先要提前添加resourse 命名为IDB_BKG  定义全局变量CBitmap bkgbitmap并初始化 bkgbitmap.LoadBitmap(IDB_BKG);

BOOL CNew3dDlg::OnEraseBkgnd(CDC* pDC) { BOOL value=CDialog::OnEraseBkgnd(pDC); CRect rect; GetClientRect(&rect); BITMAP bitmap; bkgbitmap.GetBitmap(&bitmap); CDC dc; dc.CreateCompatibleDC(pDC); CBitmap *oldbitmap=dc.SelectObject(&bkgbitmap); pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&dc,0,0,bitmap.bmWidth,bitmap.bmHeight,SRCCOPY); dc.SelectObject(oldbitmap); return value;}

补充:如果是单一颜色的话可以这么写

BOOL CNew3dDlg::OnEraseBkgnd(CDC* pDC) { BOOL value=CDialog::OnEraseBkgnd(pDC); CRect rect; GetClientRect(&rect); pDC->FillSolidRect(rect,RGB(0,0,0)); return value;}

按照网上教程将背景设置好以后就是程序中按钮部分的实现。

程序不准备添加按钮控件,采用直接获取鼠标点击位置来模拟点击按钮

需要添加一个edit控件来获取输入的坐标序号

界面结果如下: