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

正文內容

c課程設計---用vc制作多功能計算器(完整版)

2025-07-11 19:17上一頁面

下一頁面
  

【正文】 部調試器,并且可以創(chuàng)建項目文件。要實現(xiàn)計算功能,可以用 VC++的知識編寫程序來解決此問題。其類似于 Windows 附件中自帶的計算器。 關鍵詞 程序設計;計算器; MFC;按鈕控件 1 引 言 本課程設計主要在運算過程中,如果通過計算器來完成,就會減少計算量,該程序即可以在簡單計算器鍵面下進行簡單運算,也可以在科學計算器鍵面下進行高級的科學計算。 由于多個函 數(shù)均需要訪問某些數(shù)據(jù),這些數(shù)據(jù)常被設計為全局變量。 軟件要求: Windows 95/98或 Windows 以上版本。 日常計算機使用中,常常涉及到一些有關計算的問題,一個小型的計算器軟件變得非常有用,該校型計算器需要空間資源較少,對電腦其他程序的應用影響較小。使用人員能快捷簡單地進行操作。 (7)實現(xiàn)對話框的擴展功能 [2]。在CCalculatorDlg::OnCreate 函數(shù)中設定對話框的初始大小與位置,可以在這個對話框中進行窗口風格修改,位置設置等操作,然后添加菜單項 ID_EXTEND 的響應函數(shù) OnExtend。單擊 Finish 按鈕,創(chuàng)建框架。 圖 41 編輯對話框資源 (2)編輯菜單資源 在 Visual C++中的 Workspace 工具欄中,選中 ResourceView 選項卡。 //用來保存按鈕的客戶區(qū)域 ,非矩形 UINT m_State。代碼如附錄 1 所示。 GetWindowRect(amp。 //重繪客戶區(qū) } CButton::OnLButtonDown(nFlags, point)。 } 如果鼠標已經(jīng)移出了按鈕的客戶區(qū),則消毀計時器,并將計時器的起始標識 m_IsTimerOn 設為 FALSE。其實現(xiàn)代碼如附錄 1 所示。 //在矩形區(qū)域內創(chuàng)建橢圓 //設置窗口的有效區(qū)域為橢圓 SetWindowRgn(m_ClientRgn,FALSE)。實現(xiàn)代碼如下: public: void OnDraw()。 // device context for painting OnDraw()。 //對話框菜單按鈕 BOOL m_IsExtend。如圖 412 所示: 圖 412 為按鈕控件添加消息響應 (1)加載菜單資源 在 節(jié)中,已經(jīng)為工程新建了一個菜單資源 IDR_MENU,現(xiàn)將其添加到計算器對話框上。rect)。最后將菜單項 ID_EXTENDR 的顯示文本設置為“擴展”,將表示對話框是否擴展標識變量 m_IsExtend 設置為 FALSE。要屏蔽這一功能,只要執(zhí)行下面的代碼就可以。所以必須聲明兩個浮點數(shù),分別用來表示初始操作數(shù)和結果操作數(shù),同時,必須聲明兩個字符串類型的變量,分別用來顯示初始操作數(shù)。//記錄運算符 int m_IsCheckPoint。amp。 m_begin = 。 Result 函數(shù)實現(xiàn)代碼如附錄 3 所示。 經(jīng)過設計的各個環(huán)節(jié),從中學到了很多,鍛煉了自己系統(tǒng)的設計的能力,從系統(tǒng)的需求到系統(tǒng)的功能,到系統(tǒng)的測試,到系統(tǒng)的發(fā)布,可以掌握到一個完全的過程,這樣對我們以后在工作中或學習中得到很好的鍛煉,為用 VC++編輯軟件奠定基礎。 ()。 } //當鼠標在按鈕的客戶區(qū)內彈起時 ,改變按鈕狀態(tài) void CAdvButton::OnLButtonUp(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default CRect rect。 //1:focus state Invalidate()。amp。 } //在按鈕控件客戶區(qū)的繪置函數(shù) ,也是實現(xiàn)所有高 級控件的關鍵 void CAdvButton::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct) { //get client rect GetClientRect(amp。 switch (m_State) //根據(jù)按鈕不同的狀態(tài) ,創(chuàng)建不同的畫筆 { case 0: pPen = new CPen(PS_SOLID,1,DefaultColor)。 } pDCSetBkMode(TRANSPARENT)。 pDCSetTextColor(TextColor)。 //得到編輯控件設備環(huán)境變量 pDCSetBkMode(TRANSPARENT)。 // m_MenuLoadMenu(IDR_MENU)。 //得到對話框的窗口區(qū)域矩形 //設置對話框窗口位置與大小 。rect)。 //設置編輯框窗口位置與大小 :寬為 155 像素 ,高度不變 (NULL,155,(),SWP_NOMOVE|SWP_NOZORDER)。 UpdateData(TRUE)。 if (!m_IsCheckPoint) //如果小數(shù)點按下了 (m_StrBegin+.)。 } void CCalculatorDlg::AdvButton5()//按下 5 鍵時的處理函數(shù) { m_StrBegin = m_StrBegin+5。 else //如果小數(shù)點沒有按下 (m_StrBegin)。 //清除小數(shù)點標記 m_begin = atof(m_StrBegin)。 return。 case 7: //處理 =號 break。 break。 return。 return。 default: // m_end = m_begin。 //顯示結果 } 。 } m_begin = 。 for(i=m_end1。 break。 break。 break。 break。 break。 if (!m_IsCheckPoint) //如果小數(shù)點按下了 (m_StrBegin+.)。 else //如果小數(shù)點沒有按下 (m_StrBegin)。 } void CCalculatorDlg::AdvButton3()//按下 3 鍵時的處理函數(shù) { m_StrBegin = m_StrBegin+3。 DtoR=(2*PI)/360。rect)。 //更改菜單項顯示文本 m_MenuModifyMenu(ID_EXTEND,MF_BYCOMMAND|MF_STRING,ID_EXTEND,擴展 )。wndTop,0,0,186,(),SWP_NOMOVE|SWP_NOZORDER)。 //將菜單添加到對話框 return TRUE。 //創(chuàng)建白色畫刷 pDCFillRect(amp。m_ClientRect,DT_SINGLELINE|DT_CENTER|DT_VCENTER)。 pDCEllipse(amp。 case 1: pPen = new CPen(PS_SOLID,1,FocusColor)。 //得到窗口的有效矩形區(qū)域 ()。 Invalidate()。 } //計時器消息的響應函數(shù) void CAdvButton::OnTimer(UINT nIDEvent) { // TODO: Add your message handler code here and/or call default CRect rect。rect)。m_ClientRect)。 當然,本論文所采取的解決問題的方法并不是非常完善的,在今后的學習、工作中,將繼續(xù)研究并改進。 測試環(huán)境 測試環(huán)境如下: 測試系統(tǒng) : Windows XP 測試工具 : Visual Studio C++ 實例測試結果 首先,在運行界面測試簡單運算是否能正常運算,輸入“ 34+87=”見結果圖 51 所示,觀察計算結果是否正確屬實 圖 51“ 34+78=” 的運行 結果 其次,展開計算器,選中“度數(shù)”輸入“ 30”單擊“ sin”觀察結果,見圖 52 所示 圖 52“ sin30176。 //清 0 m_bit = 0。 (m_StrBegin)。以數(shù)字鍵盤被單擊為例,實現(xiàn)代 碼如下: //以按鍵 0 的響應為例,其余 0— 9 的響應完全類似 m_StrBegin = m_StrBegin+0。實現(xiàn)代碼如下: // 頭文件 private: char m_buffer[100]。 //屏蔽掉此句代碼 } (5)添加背景圖 為對話框添加背景圖,以增加界面的美觀性。首先得到對話框的當前位置,將其指定為新的寬度,但高度不變。wndTop,0,0,186,245,SWP_NOMOVE|SWP_NOZORDER)。再調用 SetMenu 函數(shù),將菜單添加到對話框上,代碼如附錄 3 所示。//數(shù)據(jù)交換函數(shù) //}}AFX_VIRTUAL virtual BOOL OnInitDialog()。首先,得到編輯控件客戶區(qū)的矩形域;其次,得到編輯控件客戶區(qū)的設備環(huán)境變量;接著,用指定的畫刷填充客戶區(qū),并且用指定的顏色繪制顯示文本。 //設置編輯控件顯示文本 protected: //{{AFX_MSG(CAvEdit) Afx_msg void OnPaint()。其效果如圖 47 所示。并且,按鈕的客戶區(qū)域已經(jīng)是一個橢圓,而不再是一個矩 形。 實現(xiàn)客戶區(qū)的 繪置函數(shù) DrawItem。當鼠標坐標位置落于窗口客戶區(qū)域內,且當前按鈕控件處于選中狀態(tài)時,將按鈕狀態(tài)標識設為非選中狀態(tài),即將 m_State 設為 1。 //得到按鈕客戶區(qū)域的屏幕坐標位置 GetCursorPos(amp。實現(xiàn)代碼如下: //修改按鈕控件風格 ModifyStyle(0,BS_OWNERDRAW|BS_PUSHBUTTON); 要使按鈕能對鼠標的移動與單擊作出不同的變化,那么按鈕就需要時刻知道鼠標的位置與動作。 //當前鼠標位置 BOOL m_IsTimerOn。 圖 42 添加菜單資源 將添加的菜單資源 的 ID 更改為 IDR_MENU。刪除對話框中默認的 OK 和 Cancel 按鈕。 Lac
點擊復制文檔內容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1