




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、2-7 編寫一個繪圖程序,程序運(yùn)行后,當(dāng)用戶在客戶區(qū)窗口按下鼠標(biāo)左鍵并移動時,根據(jù)鼠標(biāo)移動的軌跡繪制出指定的線段。第一步:在這添加(紅色加粗字體)class CMFC_52View : public CViewprotected: / create from serialization onlyCPoint m_ptOrigin;bool m_bDragging;HCURSOR m_hCross;第二步:在這添加(紅色加粗字體)CMFC_52View:CMFC_52View()m_bDragging=false;m_hCross=AfxGetApp()->LoadStandardCurs
2、or(IDC_CROSS);/ TODO: add construction code here第三步:擊鼠標(biāo)右鍵打開類向?qū)В砑覹M_LBUTTONDOMN;WM_MOUSEMOVE;WM_LBUTTONUP;如圖:然后在添加(紅色加粗字體):void CMFC_52View:OnLButtonDown(UINT nFlags, CPoint point) SetCapture();:SetCursor(m_hCross);m_ptOrigin=point;m_bDragging=TRUE;/ TODO: Add your message handler code here and/or c
3、all defaultCView:OnLButtonDown(nFlags, point);void CMFC_52View:OnMouseMove(UINT nFlags, CPoint point) / TODO: Add your message handler code here and/or call defaultif(m_bDragging)CClientDC dc(this);dc.MoveTo(m_ptOrigin);dc.LineTo(point);m_ptOrigin=point;CView:OnMouseMove(nFlags, point);void CMFC_52V
4、iew:OnLButtonUp(UINT nFlags, CPoint point) / TODO: Add your message handler code here and/or call defaultif(m_bDragging)m_bDragging=false;ReleaseCapture();CView:OnLButtonUp(nFlags, point);第四步:在這添加(紅色加粗字體):BOOL CMFC_52App:InitInstance()AfxEnableControlContainer();。/ The one and only window has been i
5、nitialized, so show and update it.m_pMainWnd->ShowWindow(SW_SHOW);m_pMainWnd->UpdateWindow();m_pMainWnd->SetWindowText("簡單的繪圖程序");return TRUE;效果圖:THE END2-8編寫一個多文檔程序,添加菜單項(xiàng)“繪圖”,并為之添加菜單命令“直線”“圓”“矩形”“多邊形”。當(dāng)選中某個菜單后,在其對于的菜單命令前劃一個勾,并把選擇的結(jié)構(gòu)顯示在視圖里。第一步:在這進(jìn)行菜單添加,如圖:(雙擊空白框即可進(jìn)行編輯)第二步:打開類向?qū)?,添?/p>
6、菜單命令處理函數(shù),如圖:第三步:一一添加完八個函數(shù)確定后,點(diǎn)Edit Code,添加如下函數(shù):(紅色加粗字體)void CMFC_53View:OnMfc53Line() CClientDC dc(this);dc.TextOut(100,100,"直線");/ TODO: Add your command handler code herem_mode=MODE_LINE;void CMFC_53View:OnMfc53Rectangle() CClientDC dc(this);dc.TextOut(200,200,"矩形");/ TODO: Add
7、 your command handler code herem_mode=MODE_RECTANGLE;void CMFC_53View:OnMfc53Polygon() CClientDC dc(this);dc.TextOut(150,150,"多邊形");/ TODO: Add your command handler code herem_mode=MODE_POLYGON;void CMFC_53View:OnMfc53Circle() CClientDC dc(this);dc.TextOut(180,180,"圓");/ TODO: Ad
8、d your command handler code herem_mode=MODE_CIRCLE;void CMFC_53View:OnUpdateMfc53Circle(CCmdUI* pCmdUI) pCmdUI->SetCheck(m_mode=MODE_CIRCLE);/ TODO: Add your command update UI handler code herevoid CMFC_53View:OnUpdateMfc53Line(CCmdUI* pCmdUI) pCmdUI->SetCheck(m_mode=MODE_LINE);/ TODO: Add you
9、r command update UI handler code herevoid CMFC_53View:OnUpdateMfc53Polygon(CCmdUI* pCmdUI) pCmdUI->SetCheck(m_mode=MODE_POLYGON);/ TODO: Add your command update UI handler code herevoid CMFC_53View:OnUpdateMfc53Rectangle(CCmdUI* pCmdUI) pCmdUI->SetCheck(m_mode=MODE_RECTANGLE);/ TODO: Add your
10、command update UI handler code here第四步:點(diǎn)擊這添加以下代碼(紅色加粗字體):#if _MSC_VER > 1000#pragma once#endif / _MSC_VER > 1000typedef enum eProgModeMODE_LINE,MODE_RECTANGLE,MODE_CIRCLE,MODE_POLYGONPROGMODE;class CMFC_53View : public CView。/ Attributespublic:CMFC_53Doc* GetDocument();PROGMODE m_mode;CPoint m
11、_ptStart, m_ptOldEnd;BOOL m_bDragging;BOOL m_bFirst;HCURSOR m_hCross; / Operations第五步:點(diǎn)擊這添加以下代碼(紅色加粗字體):CMFC_53View:CMFC_53View()m_mode = MODE_LINE;m_bDragging = FALSE;m_bFirst = FALSE;m_hCross=AfxGetApp()->LoadStandardCursor(IDC_CROSS);/ TODO: add construction code here效果圖:THE END2-9設(shè)計(jì)一個基于文檔視圖的應(yīng)
12、用程序要求如下: 1) 建立單文檔應(yīng)用程序,并添加菜單項(xiàng)“繪圖”,下面有菜單命令“直線”“矩形”“橢圓”。點(diǎn)擊菜單時,彈出消息框提醒“你點(diǎn)擊了XX菜單”。2) 工具條:給上述菜單添加相應(yīng)的工具條按鈕;3) 狀態(tài)欄:在狀態(tài)欄上添加一個面板,用于顯示當(dāng)前選擇的繪圖菜單操作;第一步:在這建立菜單資源,如圖:第二步:打開類向?qū)В砑硬藛蚊钐幚砗瘮?shù),如圖:第三步:添加完四個函數(shù)確定后,點(diǎn)Edit Code,添加如下函數(shù):(紅色加粗字體)void CMFC_54View:OnMfc54Ellipse() MessageBox("你點(diǎn)擊了橢圓菜單");CStatusBar*pStatu
13、s=(CStatusBar*)AfxGetApp()->m_pMainWnd->GetDescendantWindow(ID_VIEW_STATUS_BAR);if(pStatus)pStatus->SetPaneText(1,"你點(diǎn)擊了橢圓菜單");/ TODO: Add your command handler code herevoid CMFC_54View:OnMfc54Line() MessageBox("你點(diǎn)擊了直線菜單");CStatusBar*pStatus=(CStatusBar*)AfxGetApp()->m
14、_pMainWnd->GetDescendantWindow(ID_VIEW_STATUS_BAR);if(pStatus)pStatus->SetPaneText(1,"你點(diǎn)擊了直線菜單");/ TODO: Add your command handler code herevoid CMFC_54View:OnMfc54Rectangle() MessageBox("你點(diǎn)擊了矩形菜單");CStatusBar*pStatus=(CStatusBar*)AfxGetApp()->m_pMainWnd->GetDescendantWindow(ID_VIEW_STATUS_BAR);if(pStatus)pStatus->SetPaneText(1,"你點(diǎn)擊了矩形菜單");/ TODO: Add your command handler code here第四步:在這添加工具欄按鈕,操作如圖:自己繪制相應(yīng)的圖形:雙擊新圖標(biāo),設(shè)置工具欄屬性,ID要與菜單上相應(yīng)操作相同:一一完成“直線”,“矩形”,“橢圓”的設(shè)置。第
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 合資企業(yè)合同范本
- saas代理合同范本
- 南山鋁業(yè)合同范本
- 專業(yè)閥體采購合同范本
- 單位購柴油合同范例
- 和孩子簽合同范本
- 包裝禮盒合同范本
- 合同范例法院起訴
- 農(nóng)村木炭出售合同范本
- 變更購房合同范本
- 2025云南昆明空港投資開發(fā)集團(tuán)招聘7人歷年高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 征信異議申請書
- 高中不同主題閱讀理解高頻詞匯清單-2025屆高三下學(xué)期英語一輪復(fù)習(xí)專項(xiàng)
- 2025年上半年高郵市國資產(chǎn)投資運(yùn)營限公司(國企業(yè))公開招聘工作人員易考易錯模擬試題(共500題)試卷后附參考答案
- 教師命題培訓(xùn)
- 2025年高考地理二輪復(fù)習(xí):地球運(yùn)動(講義)解析版
- 2024年金華金開招商招才服務(wù)集團(tuán)有限公司招聘筆試真題
- 【地理】亞洲的自然環(huán)境第3課時 2024-2025學(xué)年七年級地理下冊同步課件(人教版2024)
- 2024年江蘇護(hù)理職業(yè)學(xué)院高職單招語文歷年參考題庫含答案解析
- 《國別和區(qū)域研究專題》教學(xué)大綱
- 2025年日歷表含農(nóng)歷(2025年12個月日歷-每月一張A4可打?。?/a>
評論
0/150
提交評論