资源描述:
《漂亮用户界面设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、漂亮用户界面设计(一)作者:李永红任何软件系统都有一个相互交互的信息平台,为客户提供一个良好的用户界面对客户来讲是一种享受,也是一个优秀软件设计师的职责所在,如何设计漂亮的用户界面需要掌握PhotoShop、VC++编程等技术。一、用PhotoShop绘制用户界面用PhotoShop绘制用户界面,主要利用PhotoShop中渐变叠加、图形设计分层、添加效果、钢笔等工具。1.在PhotoShop中用钢笔勾出图形界面外观轮廓2.新建图层,同时按下“Ctrl”+”Enter”键3.双击图层,建立图层效果151.按住”Ctrl”,同时用鼠标左键单击图层载入选区,利
2、用选取重合获得标题选区2.新建选区,并对该图层添加效果151.输入文字2.选择合适的图标,随后将图形存储为位图15一、程序设计1.利用AppWizard建立一个基于对话框的工程文件2.在对话框初始代码中调用位图m_skin.m_hObject=LoadImage(NULL,"Skin/hello_skin.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);CClientDCdc(this);if(m_memDc.m_hDC==NULL)m_memDc.CreateCompatibleDC(&dc);CRgnm_WRgn1,m_W
3、Rgn2;CRectr1,r2;m_WRgn1.CreateRoundRectRgn(43,31,771,369,65,65);m_WRgn2.CreateRectRgn(43,31,770,100);m_WRgn1.CombineRgn(&m_WRgn1,&m_WRgn2,RGN_OR);SetWindowRgn(HRGN(m_WRgn1),TRUE);3.在OnPaint函数中绘制整个界面CPaintDCdc(this);//devicecontextforpaintingBITMAPbmap;m_skin.GetObject(sizeof(BITMA
4、P),&bmap);m_memDc.SelectObject(&m_skin);dc.BitBlt(0,0,bmap.bmWidth,bmap.bmHeight,&m_memDc,0,0,SRCCOPY);CDialog::OnPaint();二、程序最终运行结果15漂亮用户界面设计(二)一、利用PhotoShop绘制出两幅图形界面,一副为正常情况下的界面,一副为按下时候的界面15一、程序设计1.利用AppWizard建立一个基于Dialog的工程2.将两幅位图导入到工程文件中3.在OnInitDialog()中初始化位图和背景刷bmpmaindlg.Lo
5、adBitmap(IDB_SKIN);m_Brush.CreatePatternBrush(&bmpmaindlg);定义每个按钮所在的矩形坐标rc[0].SetRect(151,288,300,356);//okrc[1].SetRect(435,287,587,353);//cancelrc[2].SetRect(588,1,642,26);//minrc[3].SetRect(647,1,697,26);//maxrc[4].SetRect(703,1,747,26);//close在OnCtlColor()中将返回的画刷改为我们建立的画刷,调整窗口
6、大小,将窗口显示为相应的位图。4.下面重点处理OnMouseMove(),实现画面相应位置的切换,并记录按钮的功能选项intNo=0;CWindowDCWindowDC(this);CDCmemDC;CBitmap*pOldBitmap,bmpLoad;memDC.CreateCompatibleDC(&WindowDC);for(No=0;No<5;No++){if(rc[No].PtInRect(point)){CurrentSel=No;15break;}}if(No==5){if(CurrentSel!=-1){bmpLoad.LoadBitmap
7、(IDB_SKIN);pOldBitmap=memDC.SelectObject(&bmpLoad);WindowDC.BitBlt(rc[CurrentSel].left,rc[CurrentSel].top,rc[CurrentSel].right-rc[CurrentSel].left,rc[CurrentSel].bottom-rc[CurrentSel].top,&memDC,rc[CurrentSel].left,rc[CurrentSel].top,SRCCOPY);memDC.SelectObject(pOldBitmap);bmpLoad
8、.DeleteObject();}CurrentSel=-1;}e