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

正文內(nèi)容

c課程設(shè)計(jì)---用vc制作多功能計(jì)算器-文庫吧資料

2025-05-22 19:17本頁面
  

【正文】 ,選中“度數(shù)”輸入“ 30”單擊“ sin”觀察結(jié)果,見圖 52 所示 圖 52“ sin30176。 Result 函數(shù)實(shí)現(xiàn)代碼如附錄 3 所示。 //設(shè)置當(dāng)前運(yùn)算類型; 1 代表加法運(yùn)算 計(jì)算器的核心運(yùn)算函數(shù) —— Result。以加號(hào)鍵被按下為例,實(shí)現(xiàn)代碼如下: //以加號(hào)為例,其余的操作符也采用類似操作 Result()。 //清 0 m_bit = 0。 m_begin = 。實(shí)現(xiàn)代碼如下: m_IsCheckPoint = false。 //改變標(biāo)識(shí) } 當(dāng)清除鍵 CE 被單擊時(shí),則對(duì)所有的成員變量進(jìn)行初始化。 (m_StrBegin)。amp。如果小數(shù) 點(diǎn)鍵沒有被單擊過,而且當(dāng)前初始操作數(shù)字符串不為空,則將小數(shù)點(diǎn)追加到初始操作數(shù)末尾,并且修改小數(shù)點(diǎn)標(biāo)識(shí)m_IsCheckPoint 為 TRUE。 else //如果小數(shù)點(diǎn)沒有按下 (m_StrBegin)。以數(shù)字鍵盤被單擊為例,實(shí)現(xiàn)代 碼如下: //以按鍵 0 的響應(yīng)為例,其余 0— 9 的響應(yīng)完全類似 m_StrBegin = m_StrBegin+0。//記錄運(yùn)算符 int m_IsCheckPoint。//記錄結(jié)果操作數(shù) double m_begin。//記錄初始操作數(shù)的字符串 float DtoR。實(shí)現(xiàn)代碼如下: // 頭文件 private: char m_buffer[100]。所以必須聲明兩個(gè)浮點(diǎn)數(shù),分別用來表示初始操作數(shù)和結(jié)果操作數(shù),同時(shí),必須聲明兩個(gè)字符串類型的變量,分別用來顯示初始操作數(shù)。 圖 418 運(yùn)行結(jié)果圖 數(shù)值計(jì)算功能的實(shí)現(xiàn) 具體功能的實(shí)現(xiàn)首先添加成員變量。然后加入一個(gè) Static 控件,將其 Type 屬性設(shè)為 Bitmap,并為 Image 屬性選擇位圖資源,如圖 417 所示。 //屏蔽掉此句代碼 } (5)添加背景圖 為對(duì)話框添加背景圖,以增加界面的美觀性。要屏蔽這一功能,只要執(zhí)行下面的代碼就可以。但是,它還有一個(gè)缺陷:當(dāng) Enter 鍵按下時(shí),對(duì)話框應(yīng)付突然關(guān)掉。最后將菜單項(xiàng) ID_EXTEND 的顯示文本設(shè)置為“收縮”,將表示對(duì)話框是否擴(kuò)展的標(biāo)識(shí)變量 m_IsExtend 設(shè)置為 TURE,實(shí)現(xiàn)代碼如附錄 3 所示。首先得到對(duì)話框的當(dāng)前位置,將其指定為新的寬度,但高度不變。最后將菜單項(xiàng) ID_EXTENDR 的顯示文本設(shè)置為“擴(kuò)展”,將表示對(duì)話框是否擴(kuò)展標(biāo)識(shí)變量 m_IsExtend 設(shè)置為 FALSE。首先得到對(duì)話框的當(dāng)前位置,將其指定為新的寬度,但高度維持不變。在 OnExtend 函數(shù)中,首先判斷當(dāng)前對(duì)話框狀態(tài),即是否已經(jīng)被擴(kuò)展。wndTop,0,0,186,245,SWP_NOMOVE|SWP_NOZORDER)。rect)。實(shí)現(xiàn)代碼如下: CRect rect。但這些控 件與對(duì)象的關(guān)聯(lián)工作是在 DoDataExchange 函數(shù)中 DDX_Control 宏來完成的。再調(diào)用 SetMenu 函數(shù),將菜單添加到對(duì)話框上,代碼如附錄 3 所示。如圖 412 所示: 圖 412 為按鈕控件添加消息響應(yīng) (1)加載菜單資源 在 節(jié)中,已經(jīng)為工程新建了一個(gè)菜單資源 IDR_MENU,現(xiàn)將其添加到計(jì)算器對(duì)話框上。 //響應(yīng)消息 WM_ON_PAINT afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct)。//虛函數(shù),覆蓋用來屏蔽 Enter 操作 //{{AFX_MSG(CCalculatorDlg) //響應(yīng)消息 ON_WM_CTLCOLOR,用以修改對(duì)話框及其控件顏色 afx_msg HBRUSH OnCtlColor(CDC*Pdc,CWnd*pWnd,UINT nCtlColor)。//數(shù)據(jù)交換函數(shù) //}}AFX_VIRTUAL virtual BOOL OnInitDialog()。 //對(duì)話框菜單按鈕 BOOL m_IsExtend。 CAdvEdit m_DspEdit。 圖 411 運(yùn)行結(jié)果 對(duì)話框界面設(shè)計(jì) 對(duì)主對(duì)話框添加成員變量和函數(shù)。首先,得到編輯控件客戶區(qū)的矩形域;其次,得到編輯控件客戶區(qū)的設(shè)備環(huán)境變量;接著,用指定的畫刷填充客戶區(qū),并且用指定的顏色繪制顯示文本。 // device context for painting OnDraw()。 在 OnPaint 函數(shù)中調(diào)用自定義函數(shù) OnDraw。實(shí)現(xiàn)代碼如下: m_Caption = lpszStr。 //設(shè)置編輯控件顯示文本 protected: //{{AFX_MSG(CAvEdit) Afx_msg void OnPaint()。實(shí)現(xiàn)代碼如下: public: void OnDraw()。如圖 49 所示。其實(shí)現(xiàn)代碼如下: //CAdvEdit 頭文件 public: CString m_Caption。其效果如圖 47 所示。 //在矩形區(qū)域內(nèi)創(chuàng)建橢圓 //設(shè)置窗口的有效區(qū)域?yàn)闄E圓 SetWindowRgn(m_ClientRgn,FALSE)。 //刪除區(qū)域?qū)ο? (amp。m_ClientRect)。并且,按鈕的客戶區(qū)域已經(jīng)是一個(gè)橢圓,而不再是一個(gè)矩 形。其實(shí)現(xiàn)代碼如附錄 1 所示。根據(jù)按鈕當(dāng)前狀態(tài),創(chuàng)建不同的畫筆。調(diào)用 SetWindowRgn 函數(shù),設(shè)置窗口的有效區(qū)域?yàn)闄E圓。 實(shí)現(xiàn)客戶區(qū)的 繪置函數(shù) DrawItem。 } 如果鼠標(biāo)已經(jīng)移出了按鈕的客戶區(qū),則消毀計(jì)時(shí)器,并將計(jì)時(shí)器的起始標(biāo)識(shí) m_IsTimerOn 設(shè)為 FALSE。其實(shí)現(xiàn)代碼如下: if(!m_IsTimerOn) //如果計(jì)時(shí)器沒用啟動(dòng) { SetTimer(1000,100,NULL)。其代碼如附錄 1 所示。當(dāng)鼠標(biāo)坐標(biāo)位置落于窗口客戶區(qū)域內(nèi),且當(dāng)前按鈕控件處于選中狀態(tài)時(shí),將按鈕狀態(tài)標(biāo)識(shí)設(shè)為非選中狀態(tài),即將 m_State 設(shè)為 1。 //重繪客戶區(qū) } CButton::OnLButtonDown(nFlags, point)。(m_State != 2)) { m_State = 2。 //得到鼠標(biāo)的屏幕坐標(biāo)位置 if(((m_Point))amp。 //得到按鈕客戶區(qū)域的屏幕坐標(biāo)位置 GetCursorPos(amp。 GetWindowRect(amp。接著,調(diào)用Invalidate 函數(shù),使客戶區(qū)無效,框架會(huì)自動(dòng)調(diào)用 DrawItem 函數(shù),重繪客戶區(qū)。 在鼠標(biāo)左鍵按下時(shí),得到按鈕窗口客戶區(qū)域的屏幕坐標(biāo)位置和鼠標(biāo)的屏幕坐標(biāo)位置。實(shí)現(xiàn)代碼如下: //修改按鈕控件風(fēng)格 ModifyStyle(0,BS_OWNERDRAW|BS_PUSHBUTTON); 要使按鈕能對(duì)鼠標(biāo)的移動(dòng)與單擊作出不同的變化,那么按鈕就需要時(shí)刻知道鼠標(biāo)的位置與動(dòng)作。代碼如附錄 1 所示。 (2)添加創(chuàng)建按鈕控件代碼 按鈕的創(chuàng)建分兩步完成。 protected: virtual void PreSubclassWindow()。 //當(dāng)前鼠標(biāo)位置 BOOL m_IsTimerOn。 //用來保存按鈕的客戶區(qū)域 ,非矩形 UINT m_State。首先在 CAdvButton 的頭文件中加入幾種預(yù)定義顏色,其代碼如下: define DesiableColor RGB(192,192,192) //灰色 , 按鈕不可用 define FocusColor RGB(255,0,0) //紅色 , 按鈕擁有焦點(diǎn) define SelectColor RGB(0,255,0) //綠色 , 按鈕被按下 define DefaultColor RGB(0,0,255) //藍(lán)色 , 默認(rèn) define TextColor RGB(128,128,128) //淺灰色 , 文本顏色 接下來,添加成員變量: public: CRect m_ClientRect。 圖 43 編輯菜單資 源 實(shí)現(xiàn)高級(jí)按鈕控件類 利用 ClassWizard 添加一個(gè)新類 ,如圖 45 所示。 圖 42 添加菜單資源 將添加的菜單資源 的 ID 更改為 IDR_MENU。 圖 41 編輯對(duì)話框資源 (2)編輯菜單資源 在 Visual C++中的 Workspace 工具欄中,選中 ResourceView 選項(xiàng)卡。 BTN_10 小數(shù)點(diǎn) = BTN_11 求值 + BTN_12 加號(hào) BTN_13 減號(hào) * BTN_14 乘號(hào) / BTN_15 除號(hào) CE BTN_16 清屏 Sqrt BTN_17 開方 1/x BTN_18 倒數(shù) sin BTN_19 正弦 cos BTN_20 余弦 tan BTN_21 正切 x^2 BTN_22 平方 x^3 BTN_23 立方 x^y BTN_24 以 X 為底的 y 次冪 exp BTN_25 以 e 為底的冪 ln BTN_26 以 e 為底的對(duì)數(shù) log BTN_27 對(duì)數(shù) /+ BTN_29 正負(fù)號(hào) 10^x BTN_30 10 的 x 次方 n! BTN_31 N 的階層 添加 2 個(gè)單選按鈕,按鈕資源清單如下 表 42 單選按鈕控件資源清單 控件名 設(shè)置 ID DEGREE BTN_DEGREE RADIAN BTN_RAD 添加 4 個(gè)靜態(tài)框,將編輯控件,普通計(jì)算,高級(jí)計(jì)算分別分組。添加若干按鈕控件,其 ID 如表 41 所示。刪除對(duì)話框中默認(rèn)的 OK 和 Cancel 按鈕。單擊 Finish 按鈕,創(chuàng)建框架。 (4)單擊 Next 按鈕,彈出 MFC AppWinzard_Step3 of4 對(duì)話框,如圖所示。選中單選按鈕,如圖所示。 Lacation 文本框是指項(xiàng)目的本地路徑。在CCalculatorDlg::OnCreate 函數(shù)中設(shè)定對(duì)話框的初始大小與位置,可以在這個(gè)對(duì)話框中進(jìn)行窗口風(fēng)格修改,位置設(shè)置等操作,然后添加菜單項(xiàng) ID_EXTEND 的響應(yīng)函數(shù) OnExtend。在 OnDisplay 函數(shù)中設(shè)置編輯框的顯示文本,再調(diào)用 OnDraw函數(shù)將其顯示出來,并用指定的畫刷填充客戶區(qū),并且用指定的顏色繪制顯示文本。在此類中對(duì)
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1