我們使用過很多的軟件, 給我們留下印象很深的是那些界面漂亮且迷人的軟件, 國外的軟件象QickTime,國產的象金山詞霸等,它們的軟件界面設計風格都有獨特之處。本人跟據自已的經驗和大家探討一下軟件的漂亮界面實現的原理並提供DEMO程序。
一、漂亮界面實現的原理
用圖象元素自繪窗口標題樣欄,邊框,系統按鈕(最大化、最小化、關閉按鈕)還有按窗口中的控件。圖象當然是美工畫的,但要你教美工怎麼去畫,是不是不能理解? ,呆會我會告訴你你如何去教美工畫.請先仔細看下圖。
明白了吧,被紅線抱括的部分都是要畫的圖象。畫得好不好會直接影響你的軟件界面。
二、原理說玩了,來說一下實現的基本知識
1、VC軟件繪圖技術:
CBitmap* pBitmap = new CBitmap;
BITMAP BmpInfo;
CBitmap* pOldBitmap;
CDC* pDisplayMemDC=new CDC;
pDisplayMemDC->CreateCompatibleDC(pDC);
pBitmap->LoadBitmap(IDB_TITLE_LEFT);
pOldBitmap=(CBitmap*)pDisplayMemDC->SelectObject(pBitmap);
pBitmap->GetBitmap(&BmpInfo);
// x,y為繪圖位置 ,必要時此語句要有For(..;..;..)控制
pDC->BitBlt(x,y, BmpInfo.bmWidth, BmpInfo.bmHeight, pDisplayMemDC, 0, 0, SRCCOPY);
pDisplayMemDC->SelectObject(pOldBitmap);
pBitmap->DeleteObject();
ReleaseDC(pDisplayMemDC);//記得執行以下的語句
delete pDisplayMemDC;
delete pBitmap;