freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c課程設(shè)計(jì)---用vc制作多功能計(jì)算器-wenkub

2023-05-19 19:17:56 本頁(yè)面
 

【正文】 DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)。 //用來(lái)保存按鈕的客戶的矩形區(qū)域 CRgn m_ClientRgn 。利用資源編輯器對(duì)菜單進(jìn)行編輯,編輯后的菜單如圖 43 所示。其效果如圖 41 所示。添加一個(gè)Edit 控件,其控件 ID 為 IDC_DSPEDIT。 (5)單擊 Next 按鈕,彈出 MFC AppWinzard_Step4 of4 對(duì)話框,如圖所示。 (2)單擊 OK 按鈕,彈出 MFC AppWinzard_Step1 對(duì)話框。 (3)最后,實(shí)現(xiàn)主對(duì)話框界面功能,主要是加載菜單資源和對(duì)話框擴(kuò)展功能的實(shí)現(xiàn)。 (10)“ CE”按鈕可以清除所有已輸入的數(shù)據(jù)從頭計(jì)算 功能模塊的實(shí)現(xiàn): (1)首先,添加高級(jí)按鈕控件類,在這個(gè)類中實(shí)現(xiàn)高級(jí)的按鈕控件。 (6)輸入的原始數(shù)據(jù)、運(yùn)算中間數(shù)據(jù)和結(jié)果都顯示在窗口頂部的同一個(gè) 標(biāo)簽中。 (1)包含的功能有:加、減、乘、除運(yùn)算,開方、求倒數(shù)等功能 [1]. (2)計(jì)算器上數(shù)字 0— 9為一個(gè)控件數(shù)組,加、減、乘、除為一個(gè)控件數(shù)組,其余為單一的控件。 3 功能說(shuō)明 它的設(shè)計(jì)按軟件工程的方法進(jìn)行 ,系統(tǒng)具有良好的界面;必要的交互信息;簡(jiǎn)約美觀的效果。即時(shí)準(zhǔn)確地獲得需要的計(jì)算的結(jié)果,充分降低了數(shù)字計(jì)算 的難度和節(jié)約了時(shí)間,對(duì)人們的生活有一定的幫助。 可行性分析 本設(shè)計(jì)是簡(jiǎn)單計(jì)算器。 在安裝好 VC ,有時(shí)根據(jù)需要添加或刪除某些部件,可插入 CD盤重新執(zhí)行 安裝程序,安裝程序 會(huì)檢測(cè)當(dāng)前系統(tǒng)安裝 VC6 的足件,用戶單擊“添加/刪除”按鈕后,在“安裝維護(hù)”對(duì)話框中選定要添加的部件或撤消選定要?jiǎng)h除的部件。 硬件要求:一般在 586以上的處理器、 16MB以上 內(nèi)存、 100MB以上的硬盤。該環(huán)境為用戶提供了良好的可視化編程環(huán)境,程序員可以里利用該開發(fā)環(huán)境輕松地訪問(wèn)C++源代碼編 輯器,資源編輯器和使用內(nèi)部調(diào)試器,并且可以創(chuàng)建項(xiàng)目文件。在程序設(shè)計(jì)中,可以用兩種方法解決問(wèn)題:一是傳統(tǒng)的結(jié)構(gòu)化程序設(shè)計(jì)方法,二是更先進(jìn)的面向?qū)ο蟪绦蛟O(shè)計(jì)方法。要實(shí)現(xiàn)計(jì)算功能,可以用 VC++的知識(shí)編寫程序來(lái)解決此問(wèn)題。在課程設(shè)計(jì)中,系統(tǒng)開發(fā)平臺(tái)為 Windows 2020XP,程序設(shè)計(jì)設(shè)計(jì)語(yǔ)言采用 Visual C++,在程序設(shè)計(jì)中,采用了結(jié)構(gòu)化與面向?qū)ο髢煞N解決問(wèn)題的方法。其類似于 Windows 附件中自帶的計(jì)算器。這個(gè)計(jì)算器不僅實(shí)現(xiàn)了簡(jiǎn)單的四則運(yùn)算功能,還實(shí)現(xiàn)了高級(jí)的科學(xué)計(jì)算功能,而且具有簡(jiǎn)潔大方的圖文外觀。 關(guān)鍵詞 程序設(shè)計(jì);計(jì)算器; MFC;按鈕控件 1 引 言 本課程設(shè)計(jì)主要在運(yùn)算過(guò)程中,如果通過(guò)計(jì)算器來(lái)完成,就會(huì)減少計(jì)算量,該程序即可以在簡(jiǎn)單計(jì)算器鍵面下進(jìn)行簡(jiǎn)單運(yùn)算,也可以在科學(xué)計(jì)算器鍵面下進(jìn)行高級(jí)的科學(xué)計(jì)算。該計(jì)算器大大的降低了數(shù)字計(jì)算的難度及提高了計(jì)算的準(zhǔn)確度和精確度。 由于多個(gè)函 數(shù)均需要訪問(wèn)某些數(shù)據(jù),這些數(shù)據(jù)常被設(shè)計(jì)為全局變量。 Visual C++ 不僅包括編譯器,而且它還包括許多有用組件,通過(guò)這些組件的協(xié)同工作,可以在 Visual C++ 集成環(huán)境中輕松地完成創(chuàng)建源文件,編輯資源,以及對(duì)程序的編譯,連接和調(diào)試等各項(xiàng)工作 。 軟件要求: Windows 95/98或 Windows 以上版本。 與一般的應(yīng)用軟件一樣,有以下兩種啟動(dòng)方式: (1)通過(guò)“開始”按鈕,選擇“程序”菜單,然后打開“ Microsoft Visual studio 中文版”子菜單中的“ Microsoft Visual C++ 中文版”程序。 日常計(jì)算機(jī)使用中,常常涉及到一些有關(guān)計(jì)算的問(wèn)題,一個(gè)小型的計(jì)算器軟件變得非常有用,該校型計(jì)算器需要空間資源較少,對(duì)電腦其他程序的應(yīng)用影響較小。 需求分析 本軟件主要用于計(jì)算機(jī) windows 2020/XP 以上版本的用戶的使用, 這次課程設(shè)計(jì)一般是實(shí)現(xiàn)簡(jiǎn)單計(jì)算器的功能。使用人員能快捷簡(jiǎn)單地進(jìn)行操作。 (3)給對(duì)話框添加菜單。 (7)實(shí)現(xiàn)對(duì)話框的擴(kuò)展功能 [2]。在此類中對(duì)于所有的對(duì)于按鈕的繪制工作都是在 DrawItem 函數(shù)中完成的,實(shí)現(xiàn)按鈕對(duì)鼠標(biāo)不同的位置和動(dòng)作改變不同的顏色,并且按鈕的客戶區(qū)域變成一個(gè)橢圓。在CCalculatorDlg::OnCreate 函數(shù)中設(shè)定對(duì)話框的初始大小與位置,可以在這個(gè)對(duì)話框中進(jìn)行窗口風(fēng)格修改,位置設(shè)置等操作,然后添加菜單項(xiàng) ID_EXTEND 的響應(yīng)函數(shù) OnExtend。選中單選按鈕,如圖所示。單擊 Finish 按鈕,創(chuàng)建框架。添加若干按鈕控件,其 ID 如表 41 所示。 圖 41 編輯對(duì)話框資源 (2)編輯菜單資源 在 Visual C++中的 Workspace 工具欄中,選中 ResourceView 選項(xiàng)卡。 圖 43 編輯菜單資 源 實(shí)現(xiàn)高級(jí)按鈕控件類 利用 ClassWizard 添加一個(gè)新類 ,如圖 45 所示。 //用來(lái)保存按鈕的客戶區(qū)域 ,非矩形 UINT m_State。 protected: virtual void PreSubclassWindow()。代碼如附錄 1 所示。 在鼠標(biāo)左鍵按下時(shí),得到按鈕窗口客戶區(qū)域的屏幕坐標(biāo)位置和鼠標(biāo)的屏幕坐標(biāo)位置。 GetWindowRect(amp。 //得到鼠標(biāo)的屏幕坐標(biāo)位置 if(((m_Point))amp。 //重繪客戶區(qū) } CButton::OnLButtonDown(nFlags, point)。其代碼如附錄 1 所示。 } 如果鼠標(biāo)已經(jīng)移出了按鈕的客戶區(qū),則消毀計(jì)時(shí)器,并將計(jì)時(shí)器的起始標(biāo)識(shí) m_IsTimerOn 設(shè)為 FALSE。調(diào)用 SetWindowRgn 函數(shù),設(shè)置窗口的有效區(qū)域?yàn)闄E圓。其實(shí)現(xiàn)代碼如附錄 1 所示。m_ClientRect)。 //在矩形區(qū)域內(nèi)創(chuàng)建橢圓 //設(shè)置窗口的有效區(qū)域?yàn)闄E圓 SetWindowRgn(m_ClientRgn,FALSE)。其實(shí)現(xiàn)代碼如下: //CAdvEdit 頭文件 public: CString m_Caption。實(shí)現(xiàn)代碼如下: public: void OnDraw()。實(shí)現(xiàn)代碼如下: m_Caption = lpszStr。 // device context for painting OnDraw()。 圖 411 運(yùn)行結(jié)果 對(duì)話框界面設(shè)計(jì) 對(duì)主對(duì)話框添加成員變量和函數(shù)。 //對(duì)話框菜單按鈕 BOOL m_IsExtend。//虛函數(shù),覆蓋用來(lái)屏蔽 Enter 操作 //{{AFX_MSG(CCalculatorDlg) //響應(yīng)消息 ON_WM_CTLCOLOR,用以修改對(duì)話框及其控件顏色 afx_msg HBRUSH OnCtlColor(CDC*Pdc,CWnd*pWnd,UINT nCtlColor)。如圖 412 所示: 圖 412 為按鈕控件添加消息響應(yīng) (1)加載菜單資源 在 節(jié)中,已經(jīng)為工程新建了一個(gè)菜單資源 IDR_MENU,現(xiàn)將其添加到計(jì)算器對(duì)話框上。但這些控 件與對(duì)象的關(guān)聯(lián)工作是在 DoDataExchange 函數(shù)中 DDX_Control 宏來(lái)完成的。rect)。在 OnExtend 函數(shù)中,首先判斷當(dāng)前對(duì)話框狀態(tài),即是否已經(jīng)被擴(kuò)展。最后將菜單項(xiàng) ID_EXTENDR 的顯示文本設(shè)置為“擴(kuò)展”,將表示對(duì)話框是否擴(kuò)展標(biāo)識(shí)變量 m_IsExtend 設(shè)置為 FALSE。最后將菜單項(xiàng) ID_EXTEND 的顯示文本設(shè)置為“收縮”,將表示對(duì)話框是否擴(kuò)展的標(biāo)識(shí)變量 m_IsExtend 設(shè)置為 TURE,實(shí)現(xiàn)代碼如附錄 3 所示。要屏蔽這一功能,只要執(zhí)行下面的代碼就可以。然后加入一個(gè) Static 控件,將其 Type 屬性設(shè)為 Bitmap,并為 Image 屬性選擇位圖資源,如圖 417 所示。所以必須聲明兩個(gè)浮點(diǎn)數(shù),分別用來(lái)表示初始操作數(shù)和結(jié)果操作數(shù),同時(shí),必須聲明兩個(gè)字符串類型的變量,分別用來(lái)顯示初始操作數(shù)。//記錄初始操作數(shù)的字符串 float DtoR。//記錄運(yùn)算符 int m_IsCheckPoint。 else //如果小數(shù)點(diǎn)沒有按下 (m_StrBegin)。amp。 //改變標(biāo)識(shí) } 當(dāng)清除鍵 CE 被單擊時(shí),則對(duì)所有的成員變量進(jìn)行初始化。 m_begin = 。以加號(hào)鍵被按下為例,實(shí)現(xiàn)代碼如下: //以加號(hào)為例,其余的操作符也采用類似操作 Result()。 Result 函數(shù)實(shí)現(xiàn)代碼如附錄 3 所示。在課程設(shè)計(jì)的實(shí)踐中,學(xué)到很多有用的知識(shí),也積累了不少寶貴的經(jīng)驗(yàn)。 經(jīng)過(guò)設(shè)計(jì)的各個(gè)環(huán)節(jié),從中學(xué)到了很多,鍛煉了自己系統(tǒng)的設(shè)計(jì)的能力,從系統(tǒng)的需求到系統(tǒng)的功能,到系統(tǒng)的測(cè)試,到系統(tǒng)的發(fā)布,可以掌握到一個(gè)完全的過(guò)程,這樣對(duì)我們以后在工作中或?qū)W習(xí)中得到很好的鍛煉,為用 VC++編輯軟件奠定基礎(chǔ)。 // 程序作者 :范菊花 // 最后修改日期 : 2020921 //構(gòu)造函數(shù) CAdvButton::CAdvButton() { //初始化 m_ClientRect = 0。 ()。 = = 0。 } //當(dāng)鼠標(biāo)在按鈕的客戶區(qū)內(nèi)彈起時(shí) ,改變按鈕狀態(tài) void CAdvButton::OnLButtonUp(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default CRect rect。m_Point)。 //1:focus state Invalidate()。rect)。amp。 Invalidate()。 } //在按鈕控件客戶區(qū)的繪置函數(shù) ,也是實(shí)現(xiàn)所有高 級(jí)控件的關(guān)鍵 void CAdvButton::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct) { //get client rect GetClientRect(amp。m_ClientRect)。 switch (m_State) //根據(jù)按鈕不同的狀態(tài) ,創(chuàng)建不同的畫筆 { case 0: pPen = new CPen(PS_SOLID,1,DefaultColor)。 case 2: pPen = new CPen(PS_SOLID,1,Se
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1