版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、第十三講:應用程序外觀設計,楊章偉 e-mail:,課程內(nèi)容安排,修改Windows應用程序外觀 制作動畫圖標 設置圖片背景 綜合練習 思考和習題,修改應用程序外觀樣式,可以通過不同的方法來修改應用程序的背景、標題、光標、圖標以及框架是否具有最大、最小對話框等信息。由于視圖類覆蓋在框架窗口上,因此通常在MainFrame中修改圖標、標題及是否具有最大、最小框的屬性;而背景及光標等信息就需要在View類中修改 。,Visual C+應用程序中的序列化是通過CArchive類來實現(xiàn)的。CArchive類總是與一個CFile對象相關聯(lián),CArchive類是作為CFile對象的輸入輸出流而設計的,如圖
2、12-2所示,其使用經(jīng)過重載的C+流入()操作符,從存儲應用程序數(shù)據(jù)的文件中實現(xiàn)讀取和寫入數(shù)據(jù),而將這些數(shù)據(jù)保存到磁盤文件中的工作由CArchive對象指示CFile對象來完成。,在框架類中修改程序外觀,在框架類中修改程序外觀 ,主要是在MainFrame中修改圖標、標題及是否具有最大、最小框的屬性等實現(xiàn)。事實上,框架類中包含了許多定義應用程序框架的成員函數(shù),新建一個工程后打開工作區(qū)的框架類,可看到如圖13-1所示的成員函數(shù)。,例如,去掉應用程序窗口最大化按鈕,添加用戶自定義標題。 BOOL CMainFrame:PreCreateWindow(CREATESTRUCT ,利用GetClass
3、Info函數(shù)修改應用程序外觀樣式,BOOL CMainFrame:PreCreateWindow(CREATESTRUCT ,在CMainFrame: OnCreate中修改,利用SetWindowLong函數(shù)實現(xiàn)去掉窗口的最大化按鈕。 int CMainFrame:OnCreate(LPCREATESTRUCT lpCreateStruct) SetWindowLong(m_hWnd,GWL_STYLE, :GetWindowLong(m_hWnd,GWL_STYLE) ,在視圖類中修改程序外觀,視圖類CxxxView類是顯示應用程序框架的主體部分,在視圖類中修程序外觀可通過成員函數(shù)PreC
4、reateWindow、AfxRegisterWndClass函數(shù)和OnCreate函數(shù)實現(xiàn)。,修改應用程序背景及光標樣式。在CMyView:PreCreateWindow中利用AfxRegisterWndClass函數(shù)可以修改應用程序的背景和光標樣式。 BOOL CMyView:PreCreateWindow(CREATESTRUCT ,制作動畫圖標,Visual C+除了能夠修改應用程序的外觀樣式,還能夠制作動畫圖標。 該實例將使應用程序框架上的圖標不斷的變化,當然,用到的圖標是事先復制到文件夾,存儲圖標的文件夾為工程名res文件夾。讀者在該工程的資源面板中只要導入這些圖標就可以了,不需要
5、自己再動手畫一些圖標了。,代碼清單,int CMainFrame:OnCreate(LPCREATESTRUCT lpCreateStruct) m_hIcon0=AfxGetApp()-LoadIcon(IDI_ICON1); /加載圖標資源 m_hIcon1=AfxGetApp()-LoadIcon(IDI_ICON2); m_hIcon2=AfxGetApp()-LoadIcon(IDI_ICON3); m_hIcon3=LoadIcon(AfxGetApp()-m_hInstance,MAKEINTRESOURCE(IDI_ICON4); m_hIcon4=LoadIcon(AfxGe
6、tInstanceHandle(),MAKEINTRESOURCE(IDI_ICON5); SetClassLong(m_hWnd,GCL_HICON,(LONG)m_hIcon0); /改變框架的圖標 SetTimer(1,500,NULL);/設立計時器 return 0; void CMainFrame:OnTimer(UINT nIDEvent) / TODO: Add your message handler code here and/or call default static int iIndex=0; iIndex=+iIndex%5;/設置變換時間 SetClassLong
7、(m_hWnd,GCL_HICON,(LONG)m_hIconiIndex); CFrameWnd:OnTimer(nIDEvent);/執(zhí)行事件 CFrameWnd:OnTimer(nIDEvent); ,設置圖片背景,本節(jié)將介紹如何將一幅位圖(.bmp文件)作為窗口顯示的背景。一般來說,將一幅位圖選做窗口背景都經(jīng)過以下幾個步驟: (1)創(chuàng)建一個兼容設備描述表。 (2)創(chuàng)建及裝入位圖資源。 (3)將位圖選入兼容設備描述表。 (4)將兼容設備描述表上的內(nèi)容復制到當前設備描述表上。,代碼清單,為應用程序設置背景圖片 void CMyView:OnDraw(CDC* pDC) CMyDoc* pD
8、oc = GetDocument(); ASSERT_VALID(pDoc); / TODO: add draw code for native data here CDC dcCompatible; /產(chǎn)生一個兼容DC dcCompatible.CreateCompatibleDC(pDC);/創(chuàng)建及裝入位圖資源 CBitmap bmp; bmp.LoadBitmap(IDB_BITMAP1); dcCompatible.SelectObject( ,綜合練習,設計一個應用程序界面,要求該界面使用用戶自定義的圖標,去掉最大化按鈕,并設置程序標題為“應用程序外觀設計”,其背景為藍色,如圖13-18所示。,思考和習題,為什么要修改應用程序的外觀? Visual C+的應用程序中
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年鄭州黃河護理職業(yè)學院單招職業(yè)適應性測試模擬試題及答案解析
- 2026年河北能源職業(yè)技術學院單招職業(yè)適應性測試模擬試題及答案解析
- 2026年贛南衛(wèi)生健康職業(yè)學院單招職業(yè)適應性測試模擬試題及答案解析
- 2026年河北勞動關系職業(yè)學院單招職業(yè)適應性測試模擬試題及答案解析
- 免疫原的制備
- 傳染病護理防控與患者關懷
- 校長上臺發(fā)言開學講話稿
- 2026年教師資格證(生物學科知識與教學能力 高中)自測試題及答案
- 2025廣東東莞市萬江農(nóng)業(yè)技術服務中心招聘駐中心定點屠宰場編外檢疫員1人筆試模擬試題及答案解析
- 2026大唐云南發(fā)電有限公司招聘備考筆試試題及答案解析
- 2025貴州六盤水市水城區(qū)招聘城市社區(qū)工作者162人備考考點題庫及答案解析
- 2025年山東省檢察院書記員考試試題及答案
- 2025天津大學管理崗位集中招聘15人筆試考試參考題庫及答案解析
- 外賣運營面試攻略與技巧全解析
- 2025浙江杭州地鐵商業(yè)經(jīng)營管理有限公司招聘11人(第四批)筆試歷年參考題庫附帶答案詳解
- 2025年人工智能培訓項目可行性研究報告及總結(jié)分析
- 小班數(shù)學課件《掛燈籠》課件
- 安全三日管理制度
- 居間服務費合同(標準版)
- 國際碳減排機制下我國海運業(yè)低碳發(fā)展的系統(tǒng)動力學建模與策略研究
- 幼兒園小班語言《老鼠阿姨的禮物》課件
評論
0/150
提交評論